From 3ceea056e08c2df843ca03d7a56386efecc57c76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Szynwelski?= Date: Thu, 4 Jan 2024 08:53:25 +0100 Subject: [PATCH] Sequencer docs: adding diagrams and redirect --- .../docs/sdk/advanced/bundled-interaction.md | 202 ------------------ .../docs/sequencer/lifecycle/ordering.md | 12 +- .../docs/sequencer/lifecycle/overview.md | 4 +- .../docs/sequencer/lifecycle/receiving.md | 7 +- warp-academy-docs/docusaurus.config.js | 11 + warp-academy-docs/package.json | 1 + .../standards/tradeable-atomic-asset.md | 2 +- .../img/docs/sequencer/block-proposal.png | Bin 0 -> 604837 bytes ...equencer.png => interaction-lifecycle.png} | Bin .../sequencer/interactions-linked-list.png | Bin 0 -> 440534 bytes .../docs/sequencer/receiving-interaction.png | Bin 0 -> 1655444 bytes warp-academy-docs/yarn.lock | 28 ++- 12 files changed, 39 insertions(+), 228 deletions(-) delete mode 100644 warp-academy-docs/docs/sdk/advanced/bundled-interaction.md create mode 100644 warp-academy-docs/static/img/docs/sequencer/block-proposal.png rename warp-academy-docs/static/img/docs/sequencer/{sequencer.png => interaction-lifecycle.png} (100%) create mode 100644 warp-academy-docs/static/img/docs/sequencer/interactions-linked-list.png create mode 100644 warp-academy-docs/static/img/docs/sequencer/receiving-interaction.png diff --git a/warp-academy-docs/docs/sdk/advanced/bundled-interaction.md b/warp-academy-docs/docs/sdk/advanced/bundled-interaction.md deleted file mode 100644 index 0ff4290..0000000 --- a/warp-academy-docs/docs/sdk/advanced/bundled-interaction.md +++ /dev/null @@ -1,202 +0,0 @@ -# Warp Sequencer - -Warp Sequencer is a module that is responsible for submitting users' transactions into Arweave (via [Bundlr Network](https://bundlr.network/)). -During the process, the transactions are indexed in [Warp Gateway](/docs/gateway/overview). -This makes them instantly available for further processing (e.g. state evaluation) - unlike in traditional processing, -where user has to wait several minutes for transaction mining and confirmation. - -Additionally, the Warp Sequencer does not require users to have any cryptocurrencies (AR, ETH, etc.) on their wallets. - -## Introduction - -The idea behind Warp Sequencer is to increase the Developer and User Experience. -Normally, when an interaction with a contract is being sent to Arweave, one has to wait some time: - -1. for the transaction mining (~2 minutes) -2. for the proper transaction confirmation (assuming at least 10 blocks - ~20 minutes). - -This in total gives ~20-25 minutes, which: - -1. Breaks the DX, e.g. in case developer wants to quickly test the contract's functions on mainnet -2. Breaks the UX, e.g. - each user of a given dApp/protocol must wait really long to see the effect - of an interaction with a contract. This makes the applications effectively unusable - especially for users coming - from the web2. - -Additionally, any interaction with contract requires some amount of ARs in the wallet - which might further increase -the entry barrier, both for developers and given protocol/dApp users. - -**NOTE** Waiting for a proper confirmation -is especially important (though often overlooked) in case of a smart contract interactions. -Imagine a cache, that is evaluating the contracts state for all the interactions returned at any given time by the -default Arweave (arweave.net) gateway. -If the cache does not wait for the proper transactions' confirmation, it may happen -that it will store a contract state evaluated from the transactions from a forked blocks (or - even worse - from -transactions that were not included in any block). - -## Advantages of using Warp Sequencer for interactions posting - -1. Interaction is near-instantly available - as soon as proper response from Bundlr network is received. -2. Posting interactions with contract does not require any ARs - the deployment via Bundlr network is either - fully subsidized by the Arweave (for transactions <= 100KiB) or by the Warp (for transactions > 100KiB). - The max transaction size is currently 2MiB. - Most of the contracts' interactions have the "default" 4B size. -3. Even though the Bundlr transactions are created and signed by the Warp's wallet, it is still possible to identify - the original data item owner/signer. - **NOTE** This is especially important in case of smart contracts - as contracts' business - logic very often is dependent on _who_ (i.e. what wallet address) is interacting with the contract. -4. The option to use VRF in contracts that require verifiable randomness. -5. Even if the Warp infra will go down, all the contract interactions can be still retrieved directly from Arweave, - using a simple GQL query. - -## How it works - -Instead of posting the interaction transactions directly to Arweave mainnet, Warp SDK creates a data item with interaction input and tags which is then signed with user's wallet. Data item is then sent to Warp Sequencer (`/gateway/v2/sequencer/register` endpoint) (this is the default behaviour of Warp's SDK `contract.writeInteraction` -function, when `forMainnet` instance is being used). - -The Warp Sequencer then: - -#### 1. Generates a sort key - -A sort key is generated from: - -1. current mainnet network height -2. current sequence value -3. original transaction id -4. current mainnet block hash - -In the original SmartWeave protocol specification, a _sort key_ is defined -as a `[ block_height,sha256(transactionId + blockHash) ]`, where: - -1. `block_height` - current network height, l-padded with `0` to 12 chars, e.g. for block height `1015556`, the - result is `000001015556` -2. `sha256(transactionId + blockHash)` - a `sha256` hash of the concatenated buffers of the transaction id and block - hash, - e.g. for txId `UR_35HORbjjZ_NnUqinkZuWkcNB1-gBST3Rezt5JrDs` and block - hash `ixWCxRN36DjVUxQRa68xIeoZLfvLDTtX78e0ae8RAAJjOPpDBuVKVaEKYOpq7bLS`, - the result is `44edd70f2018924f22a878a558a8f2d5cae8bc1f718d567df43bf52b6384d260`. - -The complete _sort key_ for the above values would -be: `000001015556,44edd70f2018924f22a878a558a8f2d5cae8bc1f718d567df43bf52b6384d260`. - -The generated sort keys are then used by the SmartWeave protocol to lexicographically sort the transactions. - -The Warp Sequencer extends this default mechanism by the current sequence value. -The formula for the _sort key_ is extended to: -`[ block_height,sequence_value,sha256(transactionId + blockHash) ]` - -This sequence value can be obtained from the Sequencer's node timestamp, database or other sources. -In its current implementation - a Sequencer node timestamp value is being used. -This in effect gives a fair transactions ordering - the transactions will have the sequence assigned in order in which -they are processed by the Sequencer. - -Assuming transaction id `La_NpAFAWxGj-VIiLfg7NbBfox0RZ8uuEJSOOZykd48`, block -hash `-o88tFYsMG9RXSGcNXX5sVDuSV5uHy7zuFRj6vYo91e3mXpmng6qw322Ip0-EguA`, -block height `1015560` and current Sequencer value `1663069424541`, the generated _sort key_ would -be `000001015560,1663069424541,a21ac8a60326ba8c2bb8caa05cff3334a22e9960ef55de0b5392caa30b484d0a` - -**NOTE** All the transactions sent to Arweave directly, have the sequence value assigned to `0000000000000000`. -This effectively means that if transactions to a given contract are sent both directly to Arweave mainnet and Warp -Sequencer - -if two transactions happen to be at the same block height, the "direct" Arweave transactions take precedence. -This also means that the sequencing algorithm is fully backwards compatible with the original SmartWeave protocol. - -#### 2. Generates tags for the Bundlr transaction - -| Tag Name | Tag Value | -| ------------------------------------------- | -------------------------------------------------------------------- | -| `Sequencer` | `Warp` | -| `Sequencer-Owner` | The original owner/signar of the contract transaction | -| `Sequencer-Mills` | The sequence value used by the Sequencer for this transaction | -| `Sequencer-Sort-Key` | The generated sort key for this transaction | -| `Sequencer-Last-Sort-Key` | The sort key of the previous transaction | -| `Sequencer-Tx-Id` | The original transaction id | -| `Sequencer-Block-Height` | The block height used for generating the sort key | -| `Sequencer-Block-Id` | The block hash used for generating the sort key | -| `Sequencer-Block-Timestamp` | The timestamp of the block that was used for generating the sort key | -| ...all the tags of the original transaction | | - -:::tip -The `Sequencer-Last-Sort-Key` tells what is the sort key of the 'previous' transaction in the sequencer and -can be used to verify whether all transactions have been properly loaded (i.e. if one -decides to load them directly from L1 nodes) and none is missing. -::: - -Additional set of tags are added in case user requests generating a random value using VRF (Verifiable Random Function): - -| Tag Name | Tag Value | -| ------------ | ----------------------------------------------------------------------- | -| `vrf-index` | The original hash generated by the VRF (using `sort_key` as input data) | -| `vrf-proof` | The original proof generated by the VRF | -| `vrf-bigint` | A BigInt value evaluated from the hash generated by the VRF | -| `vrf-pubkey` | The public key used by the VRF | - -Verifiable randomness can be used by contracts that require using random values - e.g. gaming contracts, nft/loot -generating contracts, etc. -Using the `sort_key`, `vrf-proof` and `vrf-pubkey`, the client can always verify the generated random value. - -#### 3. Wrap original data item in a bundle and uploads the bundle to Bundlr - -Apart from all the tags from point 2, some additional tags are added to the wrapping bundle: - -| Tag Name | Tag Value | -| ---------------- | ----------------- | -| `Bundle-Format` | `binary` | -| `Bundle-Version` | `2.0.0` | -| `App-Name` | `Warp` | -| `Action` | `WarpInteraction` | - -In order to send original data item to Bundlr, we use the concept of nested bundles and set an interaction data item inside a bundle. If you're not faimiliar with this concept, here is a quick summary: - -:::info -Bundling allows to write multiple data items into one top level transaction. A data item differs from a regular transaction by not allowing to transfer AR tokens and passing reward but it has most of the transaction's properties - such as owner, data, tags, owner and id. - -In a nutshell, the nested bundles concept means that a data item of a bundle can also be a bundle containg other data items. According to ANS-104 standard it can lead to theoretically unbounded levels of nesting. - -You can read the specification for nested bundles standard in [ANS-104](https://github.com/ArweaveTeam/arweave-standards/blob/master/ans/ANS-104.md#31-nested-bundle). -::: - -:::info -Obviously the data-item is signed by the Sequencer's wallet - and as such can be easily verified. -The Sequencer wallet address is `jnioZFibZSCcV8o-HkBXYPYEYNib4tqfexP0kCBXX_M`. -::: - -**NOTE** The original data item is not modified in any way - this is to preserve the original -signature! - -After receiving proper response and receipt from Bundlr, the Warp gateway indexes the contract interaction -internally - to make it instantly available. - -#### 4. Finally, the Warp gateway returns the response from the Bundlr to the client. - -## Interaction data item retrieval (generated by the Warp Sequencer) via Arweave gateway - -Use the GQL endpoint, with the original data item id passed in the `Contract` tag. Note that all the -interactions will be part of a bundle (i.e. will have the `edges.node.bundledIn.id` value set). - -```qql -query { - transactions( - ids: ["1UIhK4vL5lc2X4aMsJFmMpJqfdgrjznVzi2F17yLBlc"] - ) { - edges { - node { - id - tags { - name - value - } - block { - height - } - bundledIn { - id - } - } - } - } -} -``` - -## Interaction retrieval via Warp gateway - -The Warp `/gateway/interactions/:id` endpoint allows to retrieve the interaction info based on its original id. diff --git a/warp-academy-docs/docs/sequencer/lifecycle/ordering.md b/warp-academy-docs/docs/sequencer/lifecycle/ordering.md index 2e9a132..5c07a46 100644 --- a/warp-academy-docs/docs/sequencer/lifecycle/ordering.md +++ b/warp-academy-docs/docs/sequencer/lifecycle/ordering.md @@ -47,15 +47,12 @@ This implies, in particular, that when an Arweave block along with its contained ## Previous Sort Key ----- -[DIAGRAM WITH LINKED LIST OF INTERACTIONS] - ----- - All interactions, regardless of how they were sent, are ordered by the sequencer in a linear order. This means that for each interaction, which is not the first interaction of a given contract, we can identify its predecessor within that contract. For this purpose, we use a value we will call the `prev sort key`. +![Linked list of interactions](/img/docs/sequencer/interactions-linked-list.png) + This value is useful prior to the evaluation of the contract state when retrieving the [list of interactions](/docs/gateway/http/get/interactions) for that contract from the gateway, ensuring that no interactions were overlooked. To calculate the prev sort key, each sequencer node maintains a map (refer to: [Data Format](/docs/sequencer/data-format#previous-sort-keys)) in which, for each contract ID, the sort key of the last interaction associated with that contract is stored. @@ -63,10 +60,7 @@ To calculate the prev sort key, each sequencer node maintains a map (refer to: [ ## Block Proposal As sequencer nodes accept interactions and place them in their mempool, these interactions do not yet have assigned `sort key` and `prev sort key` values. These values can only be calculated at the time of creating a proposal for the next sequencer block. ----- -[DIAGRAM FOR PROPOSER] - ----- +![Creating a block proposal](/img/docs/sequencer/block-proposal.png) The process is as follows: diff --git a/warp-academy-docs/docs/sequencer/lifecycle/overview.md b/warp-academy-docs/docs/sequencer/lifecycle/overview.md index 5fdd426..ac5ce12 100644 --- a/warp-academy-docs/docs/sequencer/lifecycle/overview.md +++ b/warp-academy-docs/docs/sequencer/lifecycle/overview.md @@ -3,6 +3,8 @@ Interactions are used to change the state of contracts and invoke computations defined in the contract's source code. However, before any of that can happen, the interaction must go through a lifecycle, which is not such a simple process. +![The lifecycle of an interaction in Warp Sequencer](/img/docs/sequencer/interaction-lifecycle.png) + In brief, the lifecycle of an interaction begins when it is [created](/docs/sequencer/lifecycle/creating) and sent by the [Warp SDK](/docs/sdk/overview). The interaction is then [received](/docs/sequencer/lifecycle/receiving) by the Warp Sequencer, which establishes order relative to other interactions. The process of [ordering](/docs/sequencer/lifecycle/ordering) involves generating keys on which the interactions are sorted, as well as generating random values in case the contract needs them. @@ -18,6 +20,4 @@ For this type of interaction, the sequencer also sends data to Arweave, but only The gateway receives a common list of interactions regardless of whether they were sent to the sequencer or to Arweave. -![Decentralized Warp Sequencer](/img/docs/sequencer/sequencer.png) - The stages of the interaction lifecycle will be described in detail in the following sections. \ No newline at end of file diff --git a/warp-academy-docs/docs/sequencer/lifecycle/receiving.md b/warp-academy-docs/docs/sequencer/lifecycle/receiving.md index 0a50f24..f74bf02 100644 --- a/warp-academy-docs/docs/sequencer/lifecycle/receiving.md +++ b/warp-academy-docs/docs/sequencer/lifecycle/receiving.md @@ -1,5 +1,7 @@ # Receiving and Validating Interactions +![Receiving interaction by the sequencer node](/img/docs/sequencer/receiving-interaction.png) + The sequencer accepts interactions in the form of [DataItem](https://github.com/ArweaveTeam/arweave-standards/blob/master/ans/ANS-104.md) via the endpoint `/api/v1/data-item` (refer to: [API Methods](/docs/sequencer/api-methods#submits-a-new-interaction-to-the-sequencer)). Interactions added to the sequencer's blockchain take the form of messages. The message that encapsulates an interaction in the DataItem format is `MsgDataItem` (see: [Messages format](/docs/sequencer/data-format#interaction-message)). @@ -10,11 +12,6 @@ Finally, a transaction is created whose only message is this interaction. A [transaction](https://docs.cosmos.network/main/learn/advanced/transactions) in the Cosmos SDK represents a set of messages that trigger state transitions within the blockchain. ::: ----- -[DIAGRAM FOR RECEIVING INTERACTIONS] - ----- - ## Validation Subsequently, the transaction undergoes a validation process to ensure its correctness. diff --git a/warp-academy-docs/docusaurus.config.js b/warp-academy-docs/docusaurus.config.js index b306ee7..65f5051 100644 --- a/warp-academy-docs/docusaurus.config.js +++ b/warp-academy-docs/docusaurus.config.js @@ -83,6 +83,17 @@ const config = { }, sidebarPath: require.resolve('./sidebars/standardsSidebar.js'), }, + ], + [ + '@docusaurus/plugin-client-redirects', + { + redirects: [ + { + to: '/docs/sequencer/introduction', + from: '/docs/sdk/advanced/bundled-interaction', + } + ] + } ] ], diff --git a/warp-academy-docs/package.json b/warp-academy-docs/package.json index 952c27d..ad8cd81 100644 --- a/warp-academy-docs/package.json +++ b/warp-academy-docs/package.json @@ -16,6 +16,7 @@ "dependencies": { "@docsearch/react": "3", "@docusaurus/core": "^2.4.0", + "@docusaurus/plugin-client-redirects": "2.4.0", "@docusaurus/preset-classic": "^2.4.0", "@docusaurus/theme-mermaid": "^2.4.0", "@mdx-js/react": "^1.6.22", diff --git a/warp-academy-docs/standards/tradeable-atomic-asset.md b/warp-academy-docs/standards/tradeable-atomic-asset.md index 1533bc1..c8cabeb 100644 --- a/warp-academy-docs/standards/tradeable-atomic-asset.md +++ b/warp-academy-docs/standards/tradeable-atomic-asset.md @@ -16,7 +16,7 @@ To find existing contracts implementing the atomic-asset standard, we can use `t Tags can be specified [during deployment](../docs/sdk/advanced/register-contract) of atomic-asset. - During deployment following tag should be added : `{name: 'Indexed-By', value: 'atomic-asset'}` - - This tag is supported by [warp-aggregate-node](../docs/aggregate-node/overview.md). Thus allow to query assets by its owner - [documentation](../docs/aggregate-node/overview.md#nft-by-owner) + - This tag is supported by [warp-aggregate-node](../docs/aggregate-node/overview). Thus allow to query assets by its owner - [documentation](../docs/aggregate-node/overview#nft-by-owner) ## State diff --git a/warp-academy-docs/static/img/docs/sequencer/block-proposal.png b/warp-academy-docs/static/img/docs/sequencer/block-proposal.png new file mode 100644 index 0000000000000000000000000000000000000000..15f158421ecc0e33010f785177de7879a10ae32d GIT binary patch literal 604837 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%0Dc$yUemmY>OA5i^xp;Ztngx!B&um^p?#zWH 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