diff --git a/docs/Protocol/Specifications/Epoch.md b/docs/Protocol/Specifications/Epoch.md index 617a263..e5d635f 100644 --- a/docs/Protocol/Specifications/Epoch.md +++ b/docs/Protocol/Specifications/Epoch.md @@ -8,6 +8,8 @@ An epoch denotes a range of block heights on the data source blockchain where sm All peers synchronize and achieve consensus around incremental epochs according to their specific responsibilities. For example, snapshotter peers reach consensus around snapshots—base and aggregate—per epoch. This information gets finalized into the protocol state as snapshot datasets available as content identifiers on decentralized storage mediums like IPFS and Filecoin. +![Epoch](/images/Epoch.png) + The size of an epoch is configurable, referred to as `size(E)`. ## Epoch Generator diff --git a/docs/build-with-powerloom/devnet/Glossary.md b/docs/build-with-powerloom/devnet/Glossary.md new file mode 100644 index 0000000..3cfa0c8 --- /dev/null +++ b/docs/build-with-powerloom/devnet/Glossary.md @@ -0,0 +1,84 @@ +--- +sidebar_position: 3 +--- + +## Key terms, concepts, and acronyms used in Powerloom's Devnet + +--- + +### Snapshotter Peers & Nodes + +Snapshotter peers are participants in the Powerloom network who capture and verify data snapshots. Snapshotter nodes, run by Snapshotter peers, generate these snapshots at predetermined intervals or epochs. The peers are crucial for data accuracy and integrity in the decentralized Powerloom ecosystem. + +### Snapshots + +Snapshots are compressed archives of blockchain node states at specific block heights. They serve as a historical record of data changes and are taken by Snapshotter Peers. Each snapshot is a report of the observation, specific to state transitions or event logs between two block heights, and is submitted to the Protocol for consensus. Snapshots are essential for ensuring data integrity, enabling analysis, and tracking changes over time within the network. + +### Epochs + +An Epoch in the context of blockchain typically refers to a range of block heights on the data source blockchain where smart contract applications run, or, simply put, it is a specific period in the blockchain's life. + +Each Snapshotter makes observations specific to the state transitions spanning two block heights termed Epochs. Check out our developer docs [here](https://docs.powerloom.io/docs/Protocol/Specifications/Epoch/) to learn more about Epochs. + +### RPCs + +Remote Procedure Calls (RPCs), allow a program to request a service from another program on a different computer in a network. In the blockchain, an RPC node lets users and applications interact with the blockchain without needing to know network details. + +Extracting data from the blockchain state and generating the snapshot can be complex. The RPC Helper, has many helper functions to make this process easier. It handles all the retry and caching logic so developers can focus on efficiently building their use cases. + +### Prost Chain + +The "Prost Chain" refers to the foundational blockchain infrastructure the Powerloom Network utilizes, serving as the anchor chain for storing proofs. The Prost Chain also coordinates activity between different categories of peers on the network. For example, it coordinates consensus between snapshots to finalize snapshots per epoch; it also acts as the distribution point for releasing epochs. + +### Protocol State (on Prost Chain) + +Protocol State represents the current state of the network, which Snapshotter Peers or anyone else can refer to if the entity needs access to current or historical data references. + +### Devnet +Devnet is a network environment for developers to test and develop blockchain applications. Devnet provides a sandbox environment to test ideas like data dashboards. As an individual, you can develop your own snapshotting logic, write the data application & use these snapshots without requiring any consensus on said snapshots from other snapshotter nodes. + +:::success info +#### Our Devnet is live! +**Powerloom’s Devnet is Live!** Access the Devnet and build exciting data applications; you can mint a no-cost NFT slot on the Sepolia Network 🌟. Devnet mint page: [https://devnet-mint.powerloom.dev](https://devnet-mint.powerloom.dev/) + +💡 To mint the NFT slot, ETH on the Sepolia network is required. If your balance is insufficient, you can obtain Sepolia ETH through the following link: https://faucet.quicknode.com/drip +::: + +### Data Markets + +Data markets are defined by a schema specifying state variables, event log topics, and specific transactions across any smart contract instances that make the decentralized application. eg. A defi protocol like uniswap. In a data market, datasets are snapshotted data collections, while data sources are the contracts that are being snapshotted. + +Click [here](https://docs.powerloom.io/docs/Protocol/data-sources) to learn more about Data Markets. + +### Environment Variables + +Environment variables are external configurations that affect runtime behavior without modifying the code directly. They include network details, contract addresses, token parameters, security settings, feature flags, debugging options, and integration parameters. They offer flexibility, security, and maintainability by enabling dynamic adjustments of contract behavior across different deployment environments. + +### IPFS (InterPlanetary File System) +A decentralized storage protocol and network for storing and sharing files in a peer-to-peer manner. IPFS uses content-addressing and cryptographic hashing to distribute data across multiple nodes securely and efficiently. + +### Burner Wallet + +A lightweight and disposable cryptocurrency wallet designed for temporary or single-use transactions. Burner wallets are often used for small transactions or events where security and long-term storage are not priorities. + +### Project IDs + +All data sources are tracked with a project ID on the protocol. Think of it as a stream of datasets, finalized by consensus against each epoch released on the protocol. The snapshotter node attempts to retrieve data sources corresponding to the projects key from the protocol state. +Find more details in the specifications of [snapshot generation](https://docs.powerloom.io/docs/protocol/specifications/snapshotter/snapshot-build#project-id-generation). + +### Snapshot Composition + +The protocol state collects finalized snapshots for incremental epochs against contracts configured as data sources. These snapshots can be further composed according to the use case. + +We can compose snapshots on top of base snapshots for single or multiple contracts by: +- Combining individual snapshots of trade volume and fees across multiple pair contracts. +- Spanning a specific set of epochs that satisfy a time duration (e.g., 24 hours). + +To learn more about Snapshot Composition, start with this [guide](https://docs.powerloom.io/docs/Protocol/data-composition), then explore [Data Points](https://docs.powerloom.io/docs/build-with-powerloom/use-cases/existing-implementations/uniswapv2-dashboard/data-points) for a use case-driven approach, and finally read through [Closer Look at Snapshots](https://docs.powerloom.io/docs/build-with-powerloom/use-cases/existing-implementations/uniswapv2-dashboard/closer-look-at-snapshots) for a detailed understanding. + +### Relayers +Entities or nodes within a decentralized network responsible for relaying or forwarding messages, transactions, or data between different participants. Relayers play a crucial role in facilitating communication and interoperability within distributed systems. + +### Pre-loaders +Software components, scripts, or routines used to load or initialize data, resources, or configurations before the main application or system starts. Pre-loaders ensure that necessary dependencies are available and set up properly to enable smooth operation of the application. + diff --git a/docs/build-with-powerloom/devnet/faq.md b/docs/build-with-powerloom/devnet/faq.md deleted file mode 100644 index c8e0ae6..0000000 --- a/docs/build-with-powerloom/devnet/faq.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -sidebar_position: 4 ---- - -# Frequently Asked Questions diff --git a/docs/build-with-powerloom/devnet/getting-started.md b/docs/build-with-powerloom/devnet/getting-started.md index 27b025d..7b7dcd1 100644 --- a/docs/build-with-powerloom/devnet/getting-started.md +++ b/docs/build-with-powerloom/devnet/getting-started.md @@ -3,6 +3,8 @@ sidebar_position: 1 --- import Admonition from '@theme-original/Admonition'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; # Getting Started This section will guide you through the necessary steps to set up and get started with the Devnet environment. By following these instructions, you'll be able to quickly configure your Devnet and start building data applications on Powerloom. @@ -29,7 +31,7 @@ Follow these steps: - Search for the transaction hash of your NFT mint on the [Sepolia block explorer](https://sepolia.etherscan.io/). - For Metamask: The transaction will be under the `Activity` section. - - For other wallets: Search for your wallet address in the Sepolia block explorer and the mint will be the latest transaction. + - For other wallets: Search for your wallet address in the Sepolia block explorer; the mint will be the latest transaction. - Locate the minted Token ID under the `ERC-1155 Tokens Transferred` section. ![Block Explorer](/images/sepolia_blockexplorer_example.png) @@ -65,57 +67,212 @@ Your RPC usage depends on your specific use case. If your application requires a If you want to monitor your RPC usage, we recommend signing up with a provider like Alchemy, Infura or Quicknode. ::: +:::info +Setting up the snapshotter node on Windows requires a few additional steps. We suggest using Docker because of its ease of setup and speed. To begin with Docker, you must have the Windows Subsystem for Linux (WSL) installed. Please follow the guide provided below for detailed instructions. +::: + + + +

Deploying a Snapshotter Node on macOS/Linux

+ ### Running the Snapshotter Node Follow the process outlined below to ensure a smooth setup #### Step 1: Clone the Snapshotter Deploy Repository -Clone the repository against the respective branch (main by default). Open the terminal and run the below command to clone the deploy repo in a directory named `powerloom-deploy`. +Clone the repository against the respective branch (main by default). Open the terminal and run the below command to clone the deploy repo in a directory named `powerloom_deploy`. ```bash git clone https://github.com/PowerLoom/deploy.git --single-branch powerloom_deploy --branch devnet && cd powerloom_deploy ``` -#### Step 2: Fork the Snapshotter Computes and Snapshotter Config Repositories +The above command itself navigates you to the Repository Directory `powerloom_deploy` + +#### Step 2: Configure the environment variables + +1. `cp env.example .env` Copies the contents of the file named `env.example` to a new file named `.env`. -Our system leverages the Git submodule architecture to seamlessly manage these components. To dive deeper into how these elements integrate and function within our larger system, check out the [architecture documentation](https://docs.powerloom.io/docs/build-with-powerloom/snapshotter-node/architecture). +2. Fill in the required variables in the `.env` file: + +#### During the creation of the .env file, add the following details: +- `SOURCE_RPC_URL`: The URL for Source RPC (Local node/Infura/Alchemy) service. +- `SIGNER_ACCOUNT_ADDRESS`: The address of the signer account. This should be an unused "burner" address that does not need to have any token balance. You can create a new burner wallet from [our tool](https://devnet-mint.powerloom.dev/burner). During later steps, this address will be registered against the `SLOT_ID` on the `PROTOCOL_STATE_CONTRACT` that is set in this `.env`. +- `SIGNER_ACCOUNT_PRIVATE_KEY`: The private key corresponding to the burner wallet address +- `SLOT_ID`: Enter your Devnet Slot ID. [You can find the slotID by visiting the [Devnet Dashboard](https://devnet-mint.powerloom.dev/dashboard), or on the [Sepolia block explorer](https://sepolia.etherscan.io/) by searching for the transaction hash of your node mint] +- `PROTOCOL_STATE_CONTRACT`: Choose the contract address for the protocol state with respect to the Epoch size. + +:::note +Currently, there are two variations of Protocol State Contracts available. One where [Epoch](../../Protocol/Specifications/Epoch.md) size is set to 1 and the other where epoch size is set to 10 blocks. -To optimize the development process, we recommend forking the templates for: +You can find the latest Epoch Contracts in the [example.env](https://github.com/PowerLoom/deploy/blob/devnet/env.example) file. + +This should allow developers to build and experiment with a variety of use cases. If you have any custom needs, reach out to the [team](https://discord.com/invite/powerloom) +::: + +**Pre-supplied:** + +:::info +Unless it is a customized need or instructed by us, the below need not be changed or modified. + +::: + +- `SNAPSHOT_CONFIG_REPO`: https://github.com/powerloom/snapshotter-configs +- `SNAPSHOT_CONFIG_REPO_BRANCH`: devnet +- `SNAPSHOTTER_COMPUTE_REPO`: https://github.com/powerloom/snapshotter-computes +- `SNAPSHOTTER_COMPUTE_REPO_BRANCH`: devnet +- `PROST_RPC_URL`: The Powerloom Protocol Chain RPC service URL. +- `RELAYER_HOST`: The relayer URL for the Powerloom Protocol Chain. +- `NAMESPACE`: The unique key to identify your project namespace. +- `POWERLOOM_REPORTING_URL`: The URL for reporting to PowerLoom. +- `PROST_CHAIN_ID`: The Devnet chain ID -- Snapshotter Configs: https://github.com/PowerLoom/snapshotter-configs -- Snapshotter Computes: https://github.com/PowerLoom/snapshotter-computes +**Optional variables:** + +- `IPFS_URL`: The URL for the IPFS (InterPlanetary File System) service in HTTP(s) (e.g., `https://ipfs.infura.io:5001`) or multiaddr format (e.g., `/dns4/ipfs.infura.io/tcp/5001/https`). +- `IPFS_API_KEY`: The API key for the IPFS service (if required). +- `IPFS_API_SECRET`: The API secret for the IPFS service (if required). +- `SLACK_REPORTING_URL`: The URL for reporting to Slack. + +#### Step 3: Set Up the Codebase +Set up the codebase by running the `bootstrap.sh` command in the terminal. Developers may use different shells, such as bash or zsh. Adjust the command accordingly: + +For bash: + +```bash +bash bootstrap.sh +``` +or +```zsh +zsh bootstrap.sh +``` :::info -When forking the repository, ensure that the *"Copy the main branch only" * option is left unchecked. This will allow you to clone all the branches associated with the repository, not just the main branch. +This one-time step resets the `powerloom_deploy` codebase to the latest version of the `devnet` branch. +After completing this one-time setup, you'll be ready to dive into the codebase and start building amazing data applications! ::: -Once you have forked the above repositories, next step is to clone them on your local system. +#### Step 4: + +Install the required dependencies using pip: + +```bash +pip3 install -r requirements.txt +``` + +#### Step 5: Run the Snapshotter Node + +Run the command + +```bash +bash build.sh +``` +or +```zsh +zsh build.sh +``` + +#### Step 6: Assign your Burner Wallet ```bash -git clone https://github.com//snapshotter-computes +Do you want to assign a burner wallet to a slot? (yes/no): ``` + +Enter yes and then enter your burner wallet address when prompted. +- This is the `SIGNER_ACCOUNT_ADDRESS` that was set during [Step 3](#step-3-configure-the-environment-variables). + +Next, you will be prompted to enter a private key: + ```bash -git clone https://github.com//snapshotter-configs +To assign a burner wallet to a slot, you need to sign a message with the private key of the Account holding the slot. +Private Key: ``` -#### Step 3: Configure the environment variables +- Please note that this is *not* asking for the private key to your burner wallet. +- Enter the private key of the wallet [**used to mint** the devnet slot](#minting-the-devnet-slot). + + +
+ + +

Deploying a Snapshotter Node on Windows

+ +### Initial Setup | Docker + +- **Open PowerShell:** + - Start by opening PowerShell on your Windows machine. Search for `"PowerShell"` in the start menu and launch it. +- **Install Windows Subsystem for Linux (WSL):** + - In the PowerShell window, enter the following command: + + ```bash + wsl --install + + ``` + + - This command installs the Windows Subsystem for Linux, necessary for running Docker. +- **Download and Install Docker:** + - Download Docker from the [official website](https://docs.docker.com/get-docker/). + - Follow the installation instructions provided on the website. +- **Restart Your Computer:** + - After installing Docker, restart your computer to apply all changes. +- **Open Docker:** + - Post-restart, open Docker. This should automatically launch a Powershell console which will have WSL installed. +- **Set Up Linux User Account:** + - In the newly opened powershell console, set up a new user account by entering a username and password. + +### Granting Docker Permissions + + +- **Modify Docker Group Permissions:** + - To grant Docker the necessary permissions, add your user to the Docker group with this command: + + ```bash + sudo usermod -aG docker $USER + + ``` + + - Logout and login again or restart the Docker service for the changes to take effect. +- **Verify Docker Installation:** + - To confirm Docker is set up correctly, run: + + ```bash + docker run hello-world + + ``` + + - This command should display a message confirming Docker is functioning. + +### Running the Snapshotter Node +Follow the process outlined below to ensure a smooth setup + +#### Step 1: Clone the Snapshotter Deploy Repository + +Clone the repository against the respective branch (main by default). Open the terminal and run the below command to clone the deploy repo in a directory named `powerloom-deploy`. + +```bash +git clone https://github.com/PowerLoom/deploy.git --single-branch powerloom_deploy --branch devnet && cd powerloom_deploy +``` + +The above command itself navigates you to the Repository Directory `powerloom-deploy` + +#### Step 2: Configure the environment variables 1. In the deploy repo's directory, create a new file named `.env`. 2. Copy the contents of [`env.example`](https://github.com/PowerLoom/deploy/blob/devnet/env.example) to `.env`. -3. Fill in the required variables in the `.env` file: - +3. Fill in the required variables in the `.env` file: + - use `dir` to check all existing files under the created directory “powerloom_deploy” + - use `start env.example` to open env.example file + - to create a new .env file use syntax `echo. > .env` + - to copy contents from `env.example` to `.env` use code `type env.example > .env` + - to open & check contents of `.env` use code `type .env` + +#### During the creation of the .env file, add the following details: - `SOURCE_RPC_URL`: The URL for Source RPC (Local node/Infura/Alchemy) service. - - `SIGNER_ACCOUNT_ADDRESS`: The address of the signer account. This should be an unused "burner" address that does not need to have any token balance. You can create a new burner wallet from [our tool](https://devnet-mint.powerloom.dev/burner). During later steps, this address will be registered against the `SLOT_ID` on the `PROTOCOL_STATE_CONTRACT` that is set in this `.env`. -- `SIGNER_ACCOUNT_PRIVATE_KEY`: The private key corresponding to the burner wallet addresss -- `SNAPSHOT_CONFIG_REPO`: https://github.com/your-username/snapshotter-configs [Change the username to your GitHub profile to point to your forked snapshotter-configs repository.] -- `SNAPSHOT_CONFIG_REPO_BRANCH`: Change to your own branch or use the `devnet` branch if you are getting started. -- `SNAPSHOTTER_COMPUTE_REPO`: https://github.com/your-username/snapshotter-computes [Change the username to your GitHub profile to point to your forked snapshotter-computes repository.] -- `SNAPSHOTTER_COMPUTE_REPO_BRANCH`: Change to your own branch or use the `devnet` branch if you are getting started. -- `PROST_RPC_URL`: The URL for the Powerloom Protocol Chain RPC service. -- `PROTOCOL_STATE_CONTRACT`: The contract address for the protocol state. +- `SIGNER_ACCOUNT_PRIVATE_KEY`: The private key corresponding to the burner wallet address +- `SLOT_ID`: Enter your Devnet Slot ID. [You can find the slotID by visiting the [Devnet Dashboard](https://devnet-mint.powerloom.dev/dashboard), or on the [Sepolia block explorer](https://sepolia.etherscan.io/) by searching for the transaction hash of your node mint] +- `PROTOCOL_STATE_CONTRACT`: Choose the contract address for the protocol state with respect to the Epoch size. :::note Currently, there are two variations of Protocol State Contracts available. One where [Epoch](../../Protocol/Specifications/Epoch.md) size is set to 1 and other where epoch size is set to 10 blocks. @@ -125,49 +282,70 @@ You can find the latest Epoch Contracts in the [example.env](https://github.com/ This should allow developers to build and experiment with a variety of use cases. If you have any custom needs, reach out to the [team](https://discord.com/invite/powerloom) ::: +**Pre-supplied:** + +:::info +Unless it is a customized need or instructed by us, the below need not be changed or modified. + +::: + +- `SNAPSHOT_CONFIG_REPO`: https://github.com/powerloom/snapshotter-configs +- `SNAPSHOT_CONFIG_REPO_BRANCH`: devnet +- `SNAPSHOTTER_COMPUTE_REPO`: https://github.com/powerloom/snapshotter-computes +- `SNAPSHOTTER_COMPUTE_REPO_BRANCH`: devnet +- `PROST_RPC_URL`: The Powerloom Protocol Chain RPC service URL. - `RELAYER_HOST`: The relayer URL for the Powerloom Protocol Chain. -- `NAMESPACE`: The unique key used to identify your project namespace. +- `NAMESPACE`: The unique key to identify your project namespace. - `POWERLOOM_REPORTING_URL`: The URL for reporting to PowerLoom. -- `PROST_CHAIN_ID`: Enter the Devnet chain ID -- `SLOT_ID`: Enter your Devnet Slot ID. [You can find the slotID by visiting the [Devnet Dashboard](https://devnet-mint.powerloom.dev/dashboard), or on the [Sepolia block explorer](https://sepolia.etherscan.io/) by searching for the transaction hash of your node mint] +- `PROST_CHAIN_ID`: The Devnet chain ID -Optional variables: +**Optional variables:** -- `IPFS_URL`: The URL for the IPFS (InterPlanetary File System) service in HTTP(s) (e.g., `https://ipfs.infura.io:5001`) or multiaddr format (e.g., `/dns4/ipfs.infura.io/tcp/5001/https`). +- `IPFS_URL`: The URL for the IPFS (InterPlanetary File System) service in HTTP(s) (e.g., `https://ipfs.infura.io:5001`) or multiaddr format (e.g., `/dns4/ipfs.infura.io/tcp/5001/https`). - `IPFS_API_KEY`: The API key for the IPFS service (if required). - `IPFS_API_SECRET`: The API secret for the IPFS service (if required). - `SLACK_REPORTING_URL`: The URL for reporting to Slack. -#### Step 4: Set Up the Codebase +#### Step 3: Set Up the Codebase + +Set up the codebase by running the `bootstrap.sh` command in the terminal. Developers may use different shells, such as bash or zsh. Adjust the command accordingly: -Set up the codebase by running the `bootstrap.sh` command in the terminal: +For bash: ```bash bash bootstrap.sh ``` +or +```zsh +zsh bootstrap.sh +``` :::info -This is a one-time step that resets the codebase to the latest version of the branch. +This is a one-time step that resets the `powerloom_deploy` codebase to the latest version of the `devnet` branch. After completing this one-time setup, you'll be ready to dive into the codebase and start building amazing data applications! ::: -#### Step 5: +#### Step 4: Install the required dependencies using pip: ```bash -pip install -r requirements.txt +pip3 install -r requirements.txt ``` -#### Step 6: Run the Snapshotter Node +#### Step 5: Run the Snapshotter Node Run the command ```bash bash build.sh ``` +or +```zsh +zsh build.sh +``` -#### Step 7: Assign your Burner Wallet +#### Step 6: Assign your Burner Wallet ```bash Do you want to assign a burner wallet to a slot? (yes/no): @@ -176,7 +354,6 @@ Do you want to assign a burner wallet to a slot? (yes/no): Enter yes and then enter your burner wallet address when prompted. - This is the `SIGNER_ACCOUNT_ADDRESS` that was set during [Step 3](#step-3-configure-the-environment-variables). - Next, you will be prompted to enter a private key: ```bash @@ -187,7 +364,10 @@ Private Key: - Please note that this is *not* asking for the private key to your burner wallet. - Enter the private key of the wallet [**used to mint** the devnet slot](#minting-the-devnet-slot). -### Troubleshooting Errors +
+
+ +

Troubleshooting Errors

If the `.env` file is filled up correctly, all services will execute one by one. @@ -198,23 +378,27 @@ If the `.env` file is filled up correctly, all services will execute one by one. powerloom_depoy-pooler-1 exited with code 1 ``` -Make sure your snapshotter address is registered. Ensure that you have minted the Devnet Slot from the [devnet dashboard](https://mint-devnet.powerloom.network) and your burner wallet has been added correctly during Step 6. +Make sure your snapshotter address is registered. Ensure you have minted the Devnet Slot from the [devnet dashboard](https://devnet-mint.powerloom.dev/dashboard) and your burner wallet has been added correctly during Step 6. Refer to our [troubleshooting section](../../build-with-powerloom/snapshotter-node/full-node/troubleshooting.md) if you encounter any other issues with your node. -### Stopping the Node +

Stopping the Node

-1. To shutdown services, press `Ctrl+C` (and again to force). +1. To shut down services, press `Ctrl+C` for macOS/Linux & `Ctrl + Break` for Windows (and again to force). 2. If you encounter issues with data, you can do a clean **reset** by running the following command before restarting from [Step 5](#step-5-run-the-snapshotter-node): ```bash docker-compose --profile ipfs down --volumes ``` +or +```bash +docker compose --profile ipfs down --volumes +``` --- ## Quick Links - [Protocol Overview](../../category/protocol-overview) - [Use Cases](../../category/use-cases) -- [Discord Support](https://discord.com/invite/powerloom) \ No newline at end of file +- [Discord Support](https://discord.com/invite/powerloom) diff --git a/docs/build-with-powerloom/devnet/troubleshooting-monitoring.md b/docs/build-with-powerloom/devnet/troubleshooting-monitoring.md index 3430124..f80c4c7 100644 --- a/docs/build-with-powerloom/devnet/troubleshooting-monitoring.md +++ b/docs/build-with-powerloom/devnet/troubleshooting-monitoring.md @@ -1,5 +1,5 @@ --- -sidebar_position: 3 +sidebar_position: 2 --- # Troubleshooting and Monitoring diff --git a/docs/build-with-powerloom/snapshotter-node/lite-node/getting-started.md b/docs/build-with-powerloom/snapshotter-node/lite-node/getting-started.md index 7668312..eb7ed9f 100644 --- a/docs/build-with-powerloom/snapshotter-node/lite-node/getting-started.md +++ b/docs/build-with-powerloom/snapshotter-node/lite-node/getting-started.md @@ -13,7 +13,7 @@ This guide provides instructions for installing and running the Snapshotter Lite The Snapshotter Lite Node can be set up using either the Docker image or by running natively on the local machine. However, using the Docker image is the recommended approach, as it provides the simplest and most reliable method for deployment. :::tip Node Mint -Node Mint is now live at: https://mint.powerloom.network. For detailed information on our rewards structure, frequently asked questions, and other aspects related to node minting, please visit: https://powerloom.network/mint-docs/. +Node Mint is now live at: https://mint.powerloom.network/. For detailed information on our rewards structure, frequently asked questions, and other aspects related to node minting, please visit: https://powerloom.network/mint-docs/. ::: @@ -615,7 +615,7 @@ eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" ``` -To save changes in the `.bashrc` file, press `ctrl + x`. +To save changes in the `.bashrc` file, press `ctrl + o`. Refresh the terminal by typing: diff --git a/docs/build-with-powerloom/use-cases/existing-implementations/activity-tracking/index.md b/docs/build-with-powerloom/use-cases/existing-implementations/activity-tracking/index.md index 14c2029..fc686c0 100644 --- a/docs/build-with-powerloom/use-cases/existing-implementations/activity-tracking/index.md +++ b/docs/build-with-powerloom/use-cases/existing-implementations/activity-tracking/index.md @@ -42,7 +42,7 @@ The `compute` function is the main part where we create and process snapshots. I https://github.com/PowerLoom/pooler/blob/main/snapshotter/utils/models/message_models.py#L46-L50 ``` -The Infrastructure is scalable enough to handle high throughtput chains like ZkEvm in close to real time even with `Epoch` size of 1 block. +The Infrastructure is scalable enough to handle high throughput chains like ZkEvm in close to real time even with `Epoch` size of 1 block. The `BungeeBridgeProcessor` then goes through all preloaded block transactions, filters out, and then generates relevant snapshots for wallet addresses that received funds from the Bungee Bridge refuel contract during that epoch. diff --git a/docs/index.md b/docs/index.md index d630fa4..54cb4f3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -66,13 +66,14 @@ Discover the practical application of Powerloom through Pooler, a Uniswap V2 Das ## Building with Powerloom To begin using the Powerloom Protocol, you need to understand the workflow and architecture of the system. This involves familiarizing yourself with the different components and how they interact within the protocol. -The best way to start is by exploring the existing implementations present in [existing-implementations](/docs/category/existing-implementations), understanding how they work, and how you can leverage them to build your own use cases. We have also provided examples of how you can build your own use cases in the [building-use-cases](/docs/category/building-a-new-use-case) section. +The best way to start is by exploring the [existing-implementations](/docs/category/existing-implementations), understanding how they work, and how you can leverage them to [build your own use cases](/docs/category/building-a-new-use-case). ### Utilizing Existing Implementations to Build Your Data Application -Although the data generated by the Powerloom Protocol is decentralized and accessible to anyone, it's not always easy to understand how to use it. To make it easier for developers, each snapshotter node comes with a set of APIs that can be used to access the data. These APIs are designed to be easy to use and can be employed to build data applications such as dashboards, bots, aggregators, and insights trackers. +The data generated by the Powerloom Protocol is decentralized and accessible to everyone, and it is not always easy to understand how to use it. +To make it easier for developers, each snapshotter node comes with a set of APIs that can be used to access the data. These are easy to use and can be employed to build data applications such as dashboards, bots, aggregators, and insights trackers. +Discover [Snapshotter Core APIs Docs](/docs/category/snapshotter-core-api) here. -Discover Snapshotter core APIs connected to nodes currently hosted by the Powerloom Foundation to build your own data applications. [Snapshotter Core APIs Docs](/docs/category/snapshotter-core-api) ## Walkthrough We've been working on the Powerloom Protocol for quite some time now, and the protocol has evolved significantly. We have a detailed walkthrough of our network, how it functions, and how one can leverage the power of data using Powerloom. You can watch these technical community calls: diff --git a/static/images/Epoch.png b/static/images/Epoch.png new file mode 100644 index 0000000..05fa3e0 Binary files /dev/null and b/static/images/Epoch.png differ