From 02f8528c9322c8858f86afd767ce9f3162ee44f0 Mon Sep 17 00:00:00 2001 From: Wizard1209 <34334729+Wizard1209@users.noreply.github.com> Date: Fri, 10 May 2024 10:42:22 -0300 Subject: [PATCH 1/3] Added: DipDup tutorial (#1021) Co-authored-by: Wizard1209 Co-authored-by: Dustin Brickwood --- cspell-zksync.txt | 1 + docs/.vuepress/sidebar/en.ts | 4 + docs/assets/images/dipdupnew.png | Bin 0 -> 23188 bytes docs/assets/images/dockerps.png | Bin 0 -> 15093 bytes docs/assets/images/hasurarequest.png | Bin 0 -> 161293 bytes docs/build/tooling/data-indexers.md | 1 + docs/build/tutorials/tooling-guides/dipdup.md | 189 ++++++++++++++++++ 7 files changed, 195 insertions(+) create mode 100755 docs/assets/images/dipdupnew.png create mode 100755 docs/assets/images/dockerps.png create mode 100755 docs/assets/images/hasurarequest.png create mode 100644 docs/build/tutorials/tooling-guides/dipdup.md diff --git a/cspell-zksync.txt b/cspell-zksync.txt index 3a4fa04cb1..aae34607bb 100644 --- a/cspell-zksync.txt +++ b/cspell-zksync.txt @@ -239,6 +239,7 @@ psql jemalloc recid plux +pipx // ETC gitter diff --git a/docs/.vuepress/sidebar/en.ts b/docs/.vuepress/sidebar/en.ts index 72f9dad621..25f5a6a29b 100644 --- a/docs/.vuepress/sidebar/en.ts +++ b/docs/.vuepress/sidebar/en.ts @@ -128,6 +128,10 @@ export const enSidebar = sidebar({ text: "SubQuery", link: "/build/tutorials/tooling-guides/subquery.md", }, + { + text: "DipDup", + link: "/build/tutorials/tooling-guides/dipdup.md", + }, ], }, { diff --git a/docs/assets/images/dipdupnew.png b/docs/assets/images/dipdupnew.png new file mode 100755 index 0000000000000000000000000000000000000000..290d758ad4a999ab03308790f65855db129a7c6e GIT binary patch literal 23188 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/dockerps.png b/docs/assets/images/dockerps.png new file mode 100755 index 0000000000000000000000000000000000000000..c0bcd9ce57a18ae11f39915381cd1bfe41b0b10f GIT binary patch literal 15093 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 literal 0 HcmV?d00001 diff --git a/docs/assets/images/hasurarequest.png b/docs/assets/images/hasurarequest.png new file mode 100755 index 0000000000000000000000000000000000000000..a3097fd6d6e22cacc6375ca3700452e7a82f0826 GIT binary patch literal 161293 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%0DqH%P7gf4FC_*_hn~;+|7m}Q|OFP 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 literal 0 HcmV?d00001 diff --git a/docs/build/tooling/data-indexers.md b/docs/build/tooling/data-indexers.md index e2bb7bb60a..5da7896d3a 100644 --- a/docs/build/tooling/data-indexers.md +++ b/docs/build/tooling/data-indexers.md @@ -39,6 +39,7 @@ Welcome to the Analytics page, a comprehensive hub dedicated to interacting with - [the-graph](../tutorials/tooling-guides/the-graph.md) - [subquery](../tutorials/tooling-guides/subquery.md) +- [dipdup](../tutorials/tooling-guides/dipdup.md) ### Contribute diff --git a/docs/build/tutorials/tooling-guides/dipdup.md b/docs/build/tutorials/tooling-guides/dipdup.md new file mode 100644 index 0000000000..aeef3a052b --- /dev/null +++ b/docs/build/tutorials/tooling-guides/dipdup.md @@ -0,0 +1,189 @@ +--- +head: + - - meta + - name: "twitter:title" + content: DipDup | zkSync Docs +--- + +# DipDup + +This page will guide you through the steps to get your first DipDup indexer up and running in a few minutes without getting too deep into the details. + +Let's create an indexer to track balances of particular token. We will need to set up the indexing environment, configure the indexer, and store the results in a database. + +## Prerequisites + +Here are a few things you need to get started with DipDup: + +- **Skills**: Basic Python 3 knowledge to implement data handlers. +- **Operating System**: You can use any Linux/macOS distribution on amd64/arm64 platforms with Python installed. +- **Python Version**: Python 3.11 is required for DipDup. You can check your Python version by running `python3 --version` in your terminal. + +## Understanding DipDup + +DipDup is a software framework that helps web3 developers create selective indexers for decentralized applications. It uses blockchain data provided by various off-chain data sources. Some of the key features of DipDup include: + +- **Ready For Multichain**: DipDup supports dozens of blockchains, and we are constantly adding new ones. You can easily reuse your business logic for different networks or even index multiple chains in a single project. +- **Declarative Configuration**: A whole indexer is defined by a single configuration file and a bunch of Python data handlers. Code is completely separated from the configuration and environment variables, making it easy to maintain and deploy your project. +- **Lots of Integrations**: You can use SQLite, PostgreSQL, or TimescaleDB databases to store blockchain data, deploy to Compose or Swarm with a single command, monitor your indexer with Prometheus or Sentry, and more. +- **Magic GraphQL API**: DipDup automatically generates a GraphQL API for your data using Hasura, so you can easily query it from your frontend or other services. You can easily extend API with custom queries and metadata requests. +- **Powerful CLI**: DipDup CLI has everything you need to manage your project, from creating a new one to running and deploying. And it's very convenient. There are lots of templates for various blockchains and use cases, so you can start quickly. + +## Step 1 — Install DipDup + +The easiest way to install DipDup as a CLI application is [pipx](https://pipx.pypa.io/stable/) with `pipx install dipdup` command. If you don't want to deal with tooling, we have a convenient installer script. Run the following command in your terminal: + +```shell [Terminal] +curl -Lsf https://dipdup.io/install.py | python3 +``` + +See the [Installation](https://dipdup.io/docs/installation) page for other options. + +## Step 2 — Create a project + +DipDup CLI has a built-in project generator. Run the following command in your terminal: + +```shell [Terminal] +dipdup new +``` + +In this guide we will use one of our demos - demo_evm_events as a template: +![Terminal output of `dipdup new` command](../../../assets/images/dipdupnew.png) + +Dipdup will generate complete project structure, including USDT balances tracking logic, which is implemented in demo. Let's look further into it in following steps. + +## Step 3 — Configuration file + +In the project root, you'll find a file named `dipdup.yaml`. It's the main configuration file of your indexer. We will discuss it in detail in the [Config](https://dipdup.io/docs/getting-started/config) section; for now just replace contract address with target token, I will use zkSync USDT for this example: + +```yaml [dipdup.yaml] +spec_version: 2.0 +package: zksync_demo + +datasources: + subsquid: + kind: evm.subsquid + url: ${SUBSQUID_URL:-https://v2.archive.subsquid.io/network/ethereum-mainnet} + node: evm_node + etherscan: + kind: abi.etherscan + url: ${ETHERSCAN_URL:-https://api.etherscan.io/api} + api_key: ${ETHERSCAN_API_KEY:-''} + evm_node: + kind: evm.node + url: ${NODE_URL:-https://eth-mainnet.g.alchemy.com/v2}/${NODE_API_KEY:-''} + ws_url: ${NODE_WS_URL:-wss://eth-mainnet.g.alchemy.com/v2}/${NODE_API_KEY:-''} + +contracts: + eth_usdt: + kind: evm + address: 0x493257fD37EDB34451f62EDf8D2a0C418852bA4C + typename: eth_usdt + +indexes: + eth_usdt_events: + kind: evm.subsquid.events + datasource: subsquid + handlers: + - callback: on_transfer + contract: eth_usdt + name: Transfer +``` + +## Step 4 — Implement handlers + +Now, let's examine `handlers/on_transfer.py`. As defined in `dipdup.yaml`, this handler is activated when the transfer method of the token contract is called. In this guide, we focus on tracking USDT balances on zkSync: + +```yaml [on_transfer.py] +from decimal import Decimal + +from tortoise.exceptions import DoesNotExist + +from zksync_demo import models as models +from zksync_demo.types.eth_usdt.evm_events.transfer import Transfer +from dipdup.context import HandlerContext +from dipdup.models.evm_subsquid import SubsquidEvent + + +async def on_transfer( + ctx: HandlerContext, + event: SubsquidEvent[Transfer], +) -> None: + amount = Decimal(event.payload.value) / (10**6) + if not amount: + return + + await on_balance_update( + address=event.payload.from_, + balance_update=-amount, + level=event.data.level, + ) + await on_balance_update( + address=event.payload.to, + balance_update=amount, + level=event.data.level, + ) + + +async def on_balance_update( + address: str, + balance_update: Decimal, + level: int, +) -> None: + try: + holder = await models.Holder.cached_get(pk=address) + except DoesNotExist: + holder = models.Holder( + address=address, + balance=0, + turnover=0, + tx_count=0, + last_seen=None, + ) + holder.cache() + holder.balance += balance_update + holder.turnover += abs(balance_update) + holder.tx_count += 1 + holder.last_seen = level + await holder.save() +``` + +Notice that we utilize the Transaction model predefined in `models/__init__.py`. DipDup is compatible with several databases, including SQLite, PostgreSQL, and TimescaleDB, thanks to a custom ORM layer built on top of Tortoise ORM. For more information on DipDup's data models and how to utilize them in your projects, visit the [models page in our docs](https://dipdup.io/docs/getting-started/models). + +## Step 5 — Run + +In 'dipdup.yaml' we have three datasources, in this tutorial we will use two of them: Subsquid Network for historical data and JSON-RPC API (EVM node) for real-time and historical data. +Before running, set URLs for datasources. These URLs can be set in `dipdup.yaml`, but here we suggest better .env file approach: + +1. Copy `deploy/.env.default` file to `deploy/.env`. +2. Set `SUBSQUID_URL=https://v2.archive.subsquid.io/network/zksync-mainnet`. +3. Set your EVM node, for this example I will use the public RPC endpoint: `NODE_URL=https://mainnet.era.zksync.io`, `NODE_WS_URL=wss://mainnet.era.zksync.io`. + +Start the indexer: + +```shell [Terminal] +dipdup -e deploy/.env -c dipdup.yaml -c configs/dipdup.sqlite.yaml run +``` + +Data will be stored in SQLite database. Run this query to check the data: + +```bash +sqlite3 /tmp/zksync_demo.sqlite 'SELECT * FROM holder LIMIT 10' +``` + +The next part of the guide will explain how to start production-ready DipDup application in Docker environment with GraphQL API for your data. + +### Query API + +Most powerful and common DipDup application configuration uses PostgreSQL to store data and Hasura to have production ready API, steps to deploy stack in Docker environment in a few simple steps: + +1. Generate and set `HASURA_SECRET` and `POSTGRES_PASSWORD` in `deploy/.env` file, Hasura secret will be used later to access Hasura. +2. Build and start Docker containers: `docker compose --env-file deploy/.env -f deploy/compose.yaml up -d`. +3. Run `docker ps` to check that all containers are running. Locate the URL of the Hasura console in the PORTS column [compose.yml documentation](https://docs.docker.com/compose/compose-file/compose-file-v3/#ports). If the container isn't accessible via `0.0.0.0:PORT`, it may be accessible via `localhost:PORT` in certain environments. + ![docker ps](../../../assets/images/dockerps.png) +4. As an example, let's query the first 10 addresses with a positive balance: + ![hasura request](../../../assets/images/hasurarequest.png) + +## Explore DipDup + +To learn more about DipDup features, visit the [official DipDup documentation](https://dipdup.io/docs). It offers an in-depth explanation of the framework concepts, lots of examples from basic to the most advanced, allowing rapid and efficient development of blockchain data indexers of any complexity. From 4dfad151a15726aceee12a5b0daaeb32b56b1337 Mon Sep 17 00:00:00 2001 From: Antonio Date: Mon, 13 May 2024 11:13:30 +0100 Subject: [PATCH 2/3] Libera and ergs fixes (#1070) --- docs/build/developer-reference/account-abstraction.md | 6 ------ docs/build/tooling/nft-marketplaces.md | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/docs/build/developer-reference/account-abstraction.md b/docs/build/developer-reference/account-abstraction.md index a7659d1dc5..e08d16f23e 100644 --- a/docs/build/developer-reference/account-abstraction.md +++ b/docs/build/developer-reference/account-abstraction.md @@ -7,12 +7,6 @@ head: # Account Abstraction -::: warning - -- Please note that with the system update released in Feb 2023, the `ergs` concept is only used by the VM while the API layer operates with `gas`. -- For more information, read the [changelog]. - ::: - ## Introduction On Ethereum there are two types of accounts: [externally owned accounts (EOAs)](https://ethereum.org/en/developers/docs/accounts/#externally-owned-accounts-and-key-pairs) and [contracts accounts](https://ethereum.org/en/developers/docs/accounts/#contract-accounts). diff --git a/docs/build/tooling/nft-marketplaces.md b/docs/build/tooling/nft-marketplaces.md index ee03860fbb..3bf0ac42f3 100644 --- a/docs/build/tooling/nft-marketplaces.md +++ b/docs/build/tooling/nft-marketplaces.md @@ -14,9 +14,9 @@ The following NFT marketplaces are specialized in facilitating the trade, creati [Element](https://element.market/) is a community-driven aggregated marketplace where you can buy and sell NFTs across different platforms, save money, and earn rewards.\ **Specialty**: Aggregated Marketplace, Rewards -### Kreatorland +### Libera -[Kreatorland](https://kreatorland.com/) is a native NFT marketplace built specifically for the zkSync Era.\ +[Libera](https://libera.xyz/) is a native NFT marketplace built specifically for the zkSync Era.\ **Specialty**: zkSync Era Native ### OKX NFT From c322a99e13a117660cf15a1ad210a8cef5019040 Mon Sep 17 00:00:00 2001 From: Ivan Schasny <31857042+ischasny@users.noreply.github.com> Date: Mon, 13 May 2024 14:30:43 +0100 Subject: [PATCH 3/3] docs: add doc for sendRawTransactionWithDetailedOutput (#1071) Co-authored-by: AnastasiiaVashchuk <72273339+AnastasiiaVashchuk@users.noreply.github.com> --- docs/build/api.md | 164 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) diff --git a/docs/build/api.md b/docs/build/api.md index 7fdd71df81..e0c95ecf5d 100644 --- a/docs/build/api.md +++ b/docs/build/api.md @@ -877,6 +877,170 @@ curl -X POST -H "Content-Type: application/json" \ } ``` +### `zks_sendRawTransactionWithDetailedOutput` + +Executes a transaction and returns its hash, storage logs, and events that would have been generated +if the transaction had already been included in the block. The API has a similar behaviour to +`eth_sendRawTransaction` but with some extra data returned from it. + +With this API Consumer apps can apply "optimistic" events in their applications instantly without having to wait for +zkSync block confirmation time. + +It’s expected that the optimistic logs of two uncommitted transactions that modify the same state will not have causal +relationships between each other. + +#### Inputs + +| Parameter | Type | Description | +| --------- | -------- | --------------------------------------------------------------------------- | +| `data` | `string` | The signed transaction. Typically, signed with a library such as ethers.js. | + +#### curl example + +```curl +curl -X POST -H "Content-Type: application/json" \ +--data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["Signed Transaction"],"id":1}' \ +"https://mainnet.era.zksync.io" +``` + +#### Output + +```json +{ + "transactionHash": "0xd586a9381ac33a70d1c34704664209242ee90316878fc1695aa8e4cf553c8595", + "storageLogs": [ + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x7", + "writtenValue": "0x40000000000000000000000006641f961" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x6", + "writtenValue": "0x5f5e100" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x9", + "writtenValue": "0xc0000000000000000000000006641f961" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x16", + "writtenValue": "0xe1ef29fc6c51f74bbdef5bc1406e3c9925d89c5b1f79215648b82ac15419bcbe" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0xa", + "writtenValue": "0x0" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x10c", + "writtenValue": "0xc0000000000000000000000006641f961" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0xa", + "writtenValue": "0xe3ed371c32f62f3b3a28d51b909b2668e293c6cbfa4b4fd549c8f00a9a93a296" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x110", + "writtenValue": "0x0" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x10f", + "writtenValue": "0x88" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x1", + "writtenValue": "0x8001" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x2", + "writtenValue": "0x5f5e100" + }, + { + "address": "0x0000000000000000000000000000000000008003", + "key": "0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a", + "writtenValue": "0x4" + }, + { + "address": "0x000000000000000000000000000000000000800a", + "key": "0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a", + "writtenValue": "0x55ce6fa97340" + }, + { + "address": "0x000000000000000000000000000000000000800a", + "key": "0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da", + "writtenValue": "0xb9b031bf400" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x1", + "writtenValue": "0x36615cf349d7f6344891b1e7ca7c72883f5dc049" + }, + { + "address": "0x000000000000000000000000000000000000800b", + "key": "0x1", + "writtenValue": "0x8001" + }, + { + "address": "0x000000000000000000000000000000000000800a", + "key": "0x31b66141c575a054316a84da9cf4aa6fe0abd373cab1bf4ac029ffc061aae0da", + "writtenValue": "0xa7557c54f00" + }, + { + "address": "0x000000000000000000000000000000000000800a", + "key": "0xeaa2b2fbf0b42c559059e5e9510edc15755f1c1883f0e41d5ba5f9aea4ac201a", + "writtenValue": "0x56f41b001840" + } + ], + "events": [ + { + "address": "0x000000000000000000000000000000000000800a", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049", + "0x0000000000000000000000000000000000000000000000000000000000008001" + ], + "data": "0x00000000000000000000000000000000000000000000000000000b9b031bf400", + "blockHash": null, + "blockNumber": null, + "l1BatchNumber": "0x4", + "transactionHash": "0xd586a9381ac33a70d1c34704664209242ee90316878fc1695aa8e4cf553c8595", + "transactionIndex": "0x0", + "logIndex": null, + "transactionLogIndex": null, + "logType": null, + "removed": false + }, + { + "address": "0x000000000000000000000000000000000000800a", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000008001", + "0x00000000000000000000000036615cf349d7f6344891b1e7ca7c72883f5dc049" + ], + "data": "0x00000000000000000000000000000000000000000000000000000125ab56a500", + "blockHash": null, + "blockNumber": null, + "l1BatchNumber": "0x4", + "transactionHash": "0xd586a9381ac33a70d1c34704664209242ee90316878fc1695aa8e4cf553c8595", + "transactionIndex": "0x0", + "logIndex": null, + "transactionLogIndex": null, + "logType": null, + "removed": false + } + ] +} +``` + ## PubSub API zkSync is fully compatible with [Geth's pubsub API](https://geth.ethereum.org/docs/interacting-with-geth/rpc/pubsub), except for the `syncing` subscription. This is because nodes on the zkSync network are technically always synchronized.