Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create, Add content FAQs.md #31

Closed
wants to merge 25 commits into from
Closed
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
dcfbc7e
Create, Add content FAQs.md
havealakshya Apr 22, 2024
78002c9
Update FAQs.md
kanikamishra Apr 22, 2024
ae2441c
Create Telegram Bot Setup.md
havealakshya Apr 24, 2024
eccf47f
Rephrased content for FAQs.md
havealakshya Apr 24, 2024
8356d83
added deployment instructions for Telegram Bot Setup.md
havealakshya Apr 25, 2024
b9b0dab
adding images for telegram setup page
havealakshya Apr 25, 2024
b47f220
Rename chatID start.png to chatID-start.png
havealakshya Apr 25, 2024
fb9f720
Rename updated env screenshot.png to updated-env-screenshot.png
havealakshya Apr 25, 2024
6df3b05
Rename terminal prompt.png to terminal-prompt.png
havealakshya Apr 25, 2024
d443754
Rename failed snapshot.png to failed-snapshot.png
havealakshya Apr 25, 2024
3f2e10d
Added images to Telegram Bot Setup.md
havealakshya Apr 25, 2024
8904510
image check
havealakshya Apr 25, 2024
84ade9a
Update image error Telegram Bot Setup.md
havealakshya Apr 25, 2024
1648e1b
content fixes
havealakshya Apr 25, 2024
c44a9dc
alignment & content fixes Telegram Bot Setup.md
havealakshya Apr 25, 2024
b1c7a9f
Update Telegram Bot Setup.md
kanikamishra Apr 25, 2024
d9ee15d
Fixing content updates & changes
havealakshya Apr 25, 2024
9abe1ae
content updates
havealakshya Apr 25, 2024
20f036c
content updates
havealakshya Apr 25, 2024
b346fe7
content fixes
havealakshya Apr 25, 2024
65b5677
grammar fix
havealakshya Apr 25, 2024
23d7c43
content fixes Telegram Bot Setup.md
havealakshya Apr 25, 2024
fa80f74
content fixes | FAQs
havealakshya Apr 25, 2024
5cdfe71
content fixes
havealakshya Apr 25, 2024
fcc7697
content fixes
havealakshya Apr 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 95 additions & 0 deletions docs/build-with-powerloom/devnet/FAQs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
### What is Devnet?
Devnet is a network for developers to build and test blockchain apps. It provides a sandbox environment for experimenting with ideas like data dashboards. You can create your own snapshotting logic, write the data application, and use these snapshots without needing consensus from other nodes.

### Why do I need to mint a Devnet Slot?
Minting a Devnet slot reserves your space on the Devnet and gives you a Slot ID, which is required for setting up your Snapshotter Node.

### Are there any costs associated with minting the devnet slot?
Yes, you require minimal Sepolia-ETH for minting the devnet slot, which can be obtained from faucets like https://faucet.quicknode.com/drip.

### Where can I mint the Devnet slot?
To mint a Devnet slot on the Sepolia network, visit this page provided by Powerloom ([https://devnet-mint.powerloom.dev](https://devnet-mint.powerloom.dev/)), connect your wallet that has Sepolia ETH, and follow the instructions to mint your slot.

### What is a Snapshotter node?


Snapshotter peers are participants in the Powerloom network who run Snapshotter Nodes which capture and verify data snapshots at predetermined intervals or epochs.

### How do you check the Slot ID of your minted devnet slot?
You can locate your Slot ID by visiting the Devnet Dashboard or searching for the transaction hash of your NFT mint on the Sepolia block explorer. The Token ID will be listed under "ERC-1155 Tokens Transferred."

### What are the system requirements for running the Snapshotter node?
The node requires at least 4 GB of RAM, a minimum of 2 CPU cores, 40 GB of disk space, and Python 3.11 or higher. Docker is also recommended with specific version requirements.

### What versions of Docker and docker-compose are required for the node setup?
The latest version of `docker` (`>= 20.10.21`) and `docker-compose` (`>= v2.13.0`). If your system hasn't installed docker, please follow the guide [here](https://www.baeldung.com/ops/docker-install-windows-linux-mac).

### How do I configure the .env file for my Snapshotter node?
To configure the environment variables, follow these steps:
1. Copy env.example to .env by running `cp env.example .env`
2. Fill in the required variables in .env `SOURCE_RPC_URL`, `SIGNER_ACCOUNT_ADDRESS`, `SIGNER_ACCOUNT_PRIVATE_KEY`, `SLOT_ID`, `PROTOCOL_STATE_CONTRACT`.

### Where can I find documentation on Snapshotter Configs and Computes?
You can find the documentation for Snapshotter Configs and Computes here. The pooler computes and config files are found in [snapshotter-computes](https://github.com/PowerLoom/snapshotter-computes/tree/eth_uniswapv2) and [snapshotter-configs](https://github.com/PowerLoom/snapshotter-configs/tree/eth_uniswapv2).

### What is RPC?
In blockchain, RPC (Remote Procedure Calls) nodes allow users and apps to interact with the blockchain without network details. The RPC Helper simplifies the data extraction process from the blockchain state and generates snapshots.
havealakshya marked this conversation as resolved.
Show resolved Hide resolved

### What RPC services are recommended for use?
You can use any Ethereum Mainnet RPC provider, such as Infura, Alchemy, or Quicknode. Remember that your choice may depend on your specific use case and RPC usage requirements.

### What types of OS can I use to run the Snapshotter node?
You can use the macOS, Linux, or Windows to run the Snapshotter node. For more details on setting up and running the node, visit [here](https://docs.powerloom.io/docs/build-with-powerloom/devnet/getting-started).

### What is a burner wallet and how do you generate one?
A burner/disposable wallet is a type of cryptocurrency wallet that is designed for temporary use. Burner wallets are often used for small transactions or events where security and long-term storage are not priorities.

**Note:** Please do not use your NFT minting wallet to run the Snapshotter lite node. The safest approach is to generate and assign a burner wallet using tools like [Vanity-ETH](https://vanity-eth.tk/) and [Powerloom Burner Wallet Generator](https://snapshotter-dashboard.powerloom.network/burner)

### What security measures should I consider when creating a burner wallet?
When creating a burner wallet, prioritize security by managing private keys securely, limiting funds stored, performing offline transactions, regularly backing up data, ensuring a secure environment, using trusted sources, considering multi-signature wallets, and staying informed about security practices.

### How do I deploy my Snapshotter node once the environment is configured?
After configuring the environment variables, set the powerloom_deploy codebase by running the `bootstrap.sh` command in the terminal. Developers may use different shells, such as bash or zsh.

**Note**: 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!

### What chains are supported?
havealakshya marked this conversation as resolved.
Show resolved Hide resolved
We support Ethereum Mainnet and Sepolia Testnet.

### What steps should I follow to perform a clean reset of my node?
You can do a clean **reset** by running the following command before restarting.
```markdown
docker-compose --profile ipfs down --volumes
```
or
```markdown
docker compose --profile ipfs down --volumes
```

### How can I stop the node?
To shut down services, use the keyboard shortcut **`Ctrl + C`** on macOS/Linux or **`Ctrl + Break`** on Windows. Run the provided Docker command before restarting the node setup for a clean reset.

### Can we run the setup on different languages?
Yes, you can run the setup in different languages. The Snapshotter node is a complex system with multiple components written in different languages. Pooler is a Python program, while Audit Protocol is coded in Go. Since Pooler and Audit Protocol communicate via RabbitMQ, either component can be ported to different languages, making the Snapshotter node accessible to developers unfamiliar with Python or Go.

### What is the purpose of the PROTOCOL_STATE_CONTRACT variable?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should clarify that there are different protocol state contracts depending on the data source contract's chain as well as the epoch size on that chain that is preferred by devs. An epoch size of 1 means more real time use cases, 10 would mean better suited for aggregated dataset use cases like data dashboards

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PROTOCOL_STATE_CONTRACT variable serves a crucial role by specifying the address of the protocol state contract. Its configuration depends on a couple of key factors:

Data Source Contract's Chain: The specific blockchain on which the data source contract is deployed influences the protocol state contract address.

Epoch Size Preference: The epoch size, chosen based on the application’s needs, affects how data is processed and utilized:

  • Epoch Size of 1: Ideal for real-time use cases where immediate data processing is crucial.
  • Epoch Size of 10: Better suited for use cases that involve aggregated data sets, like data dashboards, where data can be compiled and reviewed over a set period.

This setup allows developers to adapt the protocol according to varying requirements and use cases, ensuring flexibility across different blockchain platforms.

This variable specifies the protocol state's contract address, which depends on the Epoch size. Currently, there are options for Epoch sizes of 1 and 10, allowing developers to experiment with different use cases.

### What is the Relayer Host?
The Relayer Host is the relayer URL for the Powerloom Protocol Chain. The relayer is a node 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.
havealakshya marked this conversation as resolved.
Show resolved Hide resolved

### How do I check if my node is running?
To check if your node is running actively, navigate to the [Devnet Dashboard](https://devnet-mint.powerloom.dev/dashboard). Click the "Check Node Status" button to refresh & check the status.

### Where can I seek help if I encounter issues not covered in the troubleshooting section?
Refer to the troubleshooting section of the documentation for common solutions or reach out to the PowerLoom team on [Discord](https://discord.com/invite/powerloom) for further assistance.

### Is there a community forum or Discord channel for Powerloom developers?
Yes, we have a Discord channel for Powerloom developers. Here’s the link, [Powerloom Discord](https://discord.com/invite/powerloom).

### How can I stay updated on new features?
You can follow us on [X(Twitter)](https://twitter.com/PowerloomHQ) and also join the community on [Discord](https://discord.com/invite/powerloom) to stay updated on new feature releases.

### Are there any additional steps for setting up the node on Windows?
Yes, setting up the node on Windows requires Docker and the Windows Subsystem for Linux (WSL). Follow the provided guide for detailed instructions on setting up WSL and Docker on your Windows system.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
### Setting up your Telegram Bot | Node Health Monitoring

This guide provides instructions for setting up your Powerloom Telegram Bot to monitor your Node Health for failed or missed Snapshots. The snapshotter-lite nodes currently require manual monitoring to discover any issues with the node.

Introducing the Powerloom Telegram Bot ‘PowerloomSnapshotterReportingService’. This bot service should maintain an internal health state and report any issues to operators such as failed or missed snapshots.

### Follow the steps below to set up your Node Health Monitoring process using Telegram.

- Step 1: Find the telegram bot by searching ‘PowerloomSnapshotterReportingService’ on Telegram
- Step 2: Type ‘/start’ to activate the bot. This will provide you with a Chat ID.

Enter the ChatID when prompted on the terminal during the setup.

### To check if the Bot is successfully running, try these:

- Limit API request Rates
- Limit the API being requested

If you see messages of failed or missed snapshots like the images below, know that the bot is running successfully.

![Untitled](https://prod-files-secure.s3.us-west-2.amazonaws.com/0c23e60c-6343-4793-90be-1ef4d172143a/eb0ad172-db9b-4671-b1f4-b7eaf2b3de28/Untitled.png)

![Untitled](https://prod-files-secure.s3.us-west-2.amazonaws.com/0c23e60c-6343-4793-90be-1ef4d172143a/bb40c964-cc51-49ac-aecd-a35589c0cad8/Untitled.png)

---

### What should I do if I receive alerts for errors related to failed or missed snapshots?
Reach out to the team on [Discord](https://discord.com/invite/powerloom). Our goal is to ensure your node runs smoothly, and we're here to help with any challenges you might face.
Loading