From 5930e5d5752d9bff91a2cb3d8d9d7c124f1a5143 Mon Sep 17 00:00:00 2001 From: Lama1403 <121100574+Lama1403@users.noreply.github.com> Date: Tue, 25 Jun 2024 13:05:42 +0300 Subject: [PATCH] Jasper Documentation V1 An update to the new content structure for documentation. Irrelevant pages have not been deleted yet, just removed from main menu. Some minor UI fixes done as well. --- .vscode/settings.json | 2 ++ zq2/docs/assets/plunderswap.png | Bin 0 -> 7020 bytes zq2/docs/changes.md | 60 ++++++++++++++++++-------------- zq2/docs/ecosystem/nodes.md | 10 ------ zq2/docs/endpoints.md | 42 ++++++++++++++-------- zq2/docs/home.md | 37 +------------------- zq2/docs/index.md | 47 ++++++++++++++++++++----- zq2/docs/nodes.md | 29 +++++++++++++++ zq2/docs/sdk.md | 59 +++++++++++++------------------ zq2/docs/stylesheets/extra.css | 31 +++++++++++++---- zq2/docs/support.md | 11 ++++++ zq2/mkdocs.in.yaml | 12 +++---- 12 files changed, 195 insertions(+), 145 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 zq2/docs/assets/plunderswap.png delete mode 100644 zq2/docs/ecosystem/nodes.md create mode 100644 zq2/docs/nodes.md create mode 100644 zq2/docs/support.md diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7a73a41 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/zq2/docs/assets/plunderswap.png b/zq2/docs/assets/plunderswap.png new file mode 100644 index 0000000000000000000000000000000000000000..d7c9c4e7d9a93e80e674079b380236935a0cb38d GIT binary patch literal 7020 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
+__There are a number of differences between Zilliqa 1.0 and Zilliqa 2.0:__ + +- Zilliqa 2.0 uses Proof-of-Stake based on Pipelined Fast-Hotstuff as a consensus algorithm. Mining is no longer necessary. + +- There are no DS epochs, no long delay at TX block 99, and the transaction pool is no longer cleared at the start of an epoch. + +- Zilliqa 2.0 has much fewer nodes and is thus far cheaper to run than Zilliqa 1.0 - a typical Zilliqa 2.0 mainnet can be operated efficiently and securely by 32 validator nodes. + +- Zilliqa 2.0 has a much faster block time; dApps will need to make sure that where they use block number as a proxy for a timestamp, they allow sufficient blocks for users to react. + +- In Zilliqa 1.0, account balances are stored in Qa and scaled up by 1,000,000 to report Wei; in Zilliqa 2.0, they are stored in Wei and scaled down by 1,000,000 to report Qa in non-EVM APIs. + +- Zilliqa 2.0 upgrades are seamless and deployed relatively quickly without the requirement to redownload persistence. This will help eliminate upgrade downtime and accommodate more frequent bug fixes. +

+ -## Changes +__There are also things that have not changed:__ -There are a number of differences between Zilliqa 1.0 and Zilliqa 2.0 that you should be aware of: +- Zilliqa 2.0 will be compatible with all the same dApps, tokens and sites as Zilliqa 1.0 (EVM -> Scilla contract interoperability is currently unavailable on proto-testnet but will be reintroduced in an upgrade soon). -- Zilliqa 2.0 uses proof of stake based Fast-Hotstuff as a consensus algorithm. Mining is no longer necessary. -- Zilliqa 2.0 has many fewer nodes, and is thus far cheaper to run, than Zilliqa 1.0 - a typical Zilliqa 2.0 mainnet can run comfortably in 32 nodes. -- Zilliqa 2.0 has a much faster block time (there is typically a hardwired minimum of 1s/block); dApp operators will need to make sure that where they use block number as a proxy for a timestamp, they allow sufficient blocks for users to react. -- Zilliqa 2 upgrades are seamless and relatively quick; you don't need to redownload persistence and there is an auto-upgrader you can run if you wish which will run the newer version of zq2 and cut over when ready. We hope this will enable us to eliminate upgrade downtime and to make more frequent bug fixes. +- A non-EVM native token transfer uses 50 gas; an EVM transfer uses 21000 gas. To make both cost the same amount of ZIL we divide EVM gas costs by 420 (== 21000/50). That is why EVM transactions require a minimum gas price of 4761.9048 Gwei. -## API differences +- Non-EVM addresses are derived from the SHA256 of the public key, giving a base16 hex string, e.g. 0x70b16b656fc1759193366dab9a56bee486feffda, which is then conventionally expressed in bech32 form zil1wzckket0c96eryekdk4e5447ujr0al76fd6ax4 -- There are no DS epochs any longer (though some are faked to allow - existing applications that retrieve the current DS epoch to work), - so the transaction pool is no longer cleared wat the start of a DS - epoch. -- `GetTransactionStatus` no longer depends on an off-chain transaction - store, and therefore now works for any transaction. +- EVM addresses are derived from the Keccak256 of the public key, giving a base16 hex string, possibly with a checksum embedded in the capitalisation, e.g. 0xB85fF091342e2e7a7461238796d5224fA81ca556. -## Continuity +- Though both EVM and non-EVM transactions use the secp256k1 curve, non-EVM transactions use Schnorr signatures, whilst EVM transactions use ECDSA. -There are also a number of things that have not changed: +### Converting address formats and transferring between wallets -- Zilliqa 2.0 is (or should be!) compatible with all the same dApps, tokens and sites as Zilliqa 1. +EVM DEX Plunderswap offers a free tool that allows you to easily transfer ZIL from a non-EVM Zilliqa wallet to an EVM wallet, and vice versa. -## Transition plan +Plunderswap's EVM Token Transfer tool is [available here](https://plunderswap.com/transfer).
-Zilliqa 2.0 will being by running a prototype devnet. This is an empty developer test network that you can use to try out your code. +You can also use the tool below to swap addresses between base16 and bech32 formats.
+*Note this does not produce an EVM address.* -There will then be: + [:octicons-arrow-switch-24:](#){.hexconverter} [:octicons-copy-24:](#){.hexcopy} -- A `prototestnet` network - this periodically (once every few days) imports existing Zilliqa 1 testnet persistence and starts a network on it; this allows you to test against existing testnet persistence. -- A `protomainnet` network - which does the same with mainnet persistence. -- Existing SSNs will be invited to become validators on the Zilliqa 2 network (bringing their delegated stake with them). We'll contact you individually about this. -- We will then cut `testnet` over to Zilliqa 2 -- Then `mainnet` -Note that the `proto` networks will have different chain IDs to the networks they import their state from; this is necessary to avoid replay attacks, but means that you will find the chain ids of old transactions are not the same as the chain ids for new ones. diff --git a/zq2/docs/ecosystem/nodes.md b/zq2/docs/ecosystem/nodes.md deleted file mode 100644 index 6f7cdaa..0000000 --- a/zq2/docs/ecosystem/nodes.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: nodes -title: Zilliqa Nodes ---- - -# Zilliqa 2 nodes - -Once we launch, this page will include information on network-based suppliers of Zilliqa 2 nodes. - -In the meantime, you can [run your own](../running/node.md). diff --git a/zq2/docs/endpoints.md b/zq2/docs/endpoints.md index fad0b19..2fe316e 100644 --- a/zq2/docs/endpoints.md +++ b/zq2/docs/endpoints.md @@ -1,29 +1,41 @@ --- id: endpoints -title: API endpoints -hide: - - toc +title: Endpoints, Block Explorer and Faucet keywords: - api - introduction - endpoints -description: Zilliqa API Endpoints +description: Endpoints, Block Explorer and Faucet --- -# Endpoints +# Endpoints, Block Explorer and Faucet -Chain ids can be found at [chainlist](https://chainlist.org/?search=zilliqa&testnets=true). +As we introduce additional test networks for Zilliqa 2.0, their public RPC node URLs and chain IDs will be published on [ChainList](https://chainlist.org/?search=zilliqa&testnets=true) alongside existing chain information for Zilliqa 1.0. -Uptime can be found at [status.zilliqa.com](https://status.zilliqa.com) and you can get API examples from the [api](/api) pages. +## Networks +Details for the current network versions of Zilliqa 2.0 are listed below. -We have several blockchains running. +
+| Name | Version | ChainId | API | Otterscan | Faucet | +| ------ | ------- | ------- | --- | --------- | ------ | +| proto-testnet | xx | xx | xx | xx | xx | xx | xx | +
-## devnet +*__Note__ that this is currently a proto-testnet version of Zilliqa 2.0 designed primarily for testing purposes, and therefore its state and uptime are not guaranteed* -Devnet is a general purpose developer network, synchronised to the latest (or nearly the latest) commit from [https://github.com/zilliqa/zq2](https://github.com/zilliqa/zq2) . Its state and uptime are not guaranteed, but it is useful for checking your contracts against the latest and greatest software versions. +## Block Explorer -
-| Name | Version | ChainId | API | Otterscan | Faucet | Connect | Notes | -| ------ | ------- | ------- | --- | --------- | ------ | ------- | ----- | -| devnet | api.zq2-devnet.zilliqa.com | [33469](https://chainlist.org/chain/33469) | https://api.zq2-devnet.zilliqa.com | https://explorer.zq2-devnet.zilliqa.com | https://faucet.zq2-devnet.zilliqa.com/ | Metamask |   | -
+The current version of Zilliqa 2.0 is compatible with the Otterscan block explorer and does not support Devex. + +The block explorer for the Zilliqa 2.0 proto-testnet is [available here](https://explorer.zq2-prototestnet.zilliqa.com/). + + +## Faucet +The faucet sends an amount of 100 ZIL to the supplied address for use in testing the network. + +Enter the hex address of your compatible EVM wallet into the field below to receive 100 ZIL on the Zilliqa 2.0 proto-testnet: +``` py title="Receive 100 ZIL on the Zilliqa 2.0 proto-testnet" +[EMBED Faucet] +``` + +*If you are unable to use the tool above, you can also [access the faucet here](https://faucet.devnet.zilliqa.com).* diff --git a/zq2/docs/home.md b/zq2/docs/home.md index a582f04..0dc7d45 100644 --- a/zq2/docs/home.md +++ b/zq2/docs/home.md @@ -2,39 +2,4 @@ hide: - title --- - -# Zilliqa Developer Portal - -This is the developer documentation for [Zilliqa](https://www.zilliqa.com/) 2.0, a fast-finality scalable blockchain. - -You can read the white paper and get an overview of Zilliqa 2.0 and how it works from TODO. - -Zilliqa supports both an EVM compatible execution layer and a custom execution layer based on the [Scilla](https://scilla.readthdocs.io/latest) smart contract language. Standards for the blockchain itself are recorded in [Zilliqa Improvement Proposals](https://github.com/zilliqa/zip) and for Scilla smart contracts, in [Zilliqa Reference Contracts](https://github.com/zilliqa/zrc). Chain governance can be discussed on [the governance forum](https://gov.zilliqa.com) and votes are held on [snapshot](https://governance.zilliqa.com), and staking information can be obtained from [zillion](https://stake.zilliqa.com). - -You can find out more about how EVM and Scilla [interoperate](/interop.md). - -Zilliqa supports most standard EVM development tools and wallets, including [metamask](https://metamask.io). - -**_NB: The current production version of Zilliqa is Zilliqa 1 - you can find documentation on Zilliqa 1 at [https://dev.zilliqa.com](https://dev.zilliqa.com)_** - -Here, you will find information about: - -- A list of [Endpoints](endpoints.md) and block explorers. -- A [Developer FAQ](faq.md). -- [What's Changed and transition plans](changes.md) since Zilliqa 1.0 -- The Zilliqa 2.0 blockchain - - Supported APIs (see the sidebar) - - Information about the [SDKs and software](sdk.md) and [Ecosystem](ecosystem/ecosystem.md) available. - - How to run a [node](running/node.md) and become a [validator](running/validator.md), or run your own [network](running/network.md) - -Coming soon: - -- Tutorials on how to use Zilliqa 2.0's new features (inter-chain messaging, X-Shards, Account Abstraction, the Native ERC-20) -- Scilla, our smart contract language -- On-chain artefacts and dApps you may find useful - - ZRC-2 Tokens and ERC-20 wrappers for them. - - DEXes and Bridges and examples of how to use them in programs. - - The Ionise money market. - - A (command-line only) Gnosis-derived multisig - - Price Oracles - - The ENS root +- \ No newline at end of file diff --git a/zq2/docs/index.md b/zq2/docs/index.md index b14ca01..2fd9ec8 100644 --- a/zq2/docs/index.md +++ b/zq2/docs/index.md @@ -1,21 +1,50 @@ --- hide: - title + - toc --- -# Zilliqa 2 Developer Portal +# Zilliqa 2.0 Developer Documentation -*Looking for Zilliqa 1 documentation? You can find it at [https://dev.zilliqa.com/zilliqa1/](/zilliqa1/)* +Welcome to the developer documentation for Zilliqa 2.0, a fast-finality, scalable blockchain protocol. Zilliqa 2.0 features a native EVM execution layer, supporting standard EVM development tools and wallets while also retaining a custom execution layer based on the [Scilla](https://scilla.readthdocs.io/latest) smart contract language. -You can find an overview at [home](home) or select a page from the menu at the left of this page. +__For an overview__ of the features and capabilities introduced in Zilliqa 2.0, please visit the [roadmap website](https://roadmap.zilliqa.com/), where you can also find a list of development milestones. -Useful tools: +__To learn more__ about the design of the Zilliqa 2.0 protocol, [read the whitepaper](https://drive.google.com/file/d/1XqSySl0w_OtxyxBZ0ahS06cqIv-vd10M/view). -- Plunderswap's [transfer from Zil to EVM wallet or back](https://plunderswap.com/transfer) -- Swap addresses between hex and bech32 (note: this does _not_ produce an EVM address) [:octicons-arrow-switch-24:](#){.hexconverter} [:octicons-copy-24:](#){.hexcopy} +__At the current stage__ of Zilliqa 2.0 development, the core protocol is available to test via the Jasper proto-testnet. -## Latest News +__The proto-testnet__ exists as the first implementation of the Zilliqa 2.0 consensus mechanism, which comprises Proof-of-Stake validator selection paired with Pipelined Fast-HotStuff for fast and efficient transaction processing. -### 2024-04-04: New documentation site +Here you will find documentation related to the current implementation of Zilliqa 2.0, including: + +
+ +- __What's new in Zilliqa 2.0__ + + [:octicons-arrow-right-24: Read More](/zilliqa2/changes/) + + +- __URLs of RPC endpoint, faucet and block explorer__ + + [:octicons-arrow-right-24: Read More](/zilliqa2/endpoints/) + +- __How to run a node and become a validator__ + + [:octicons-arrow-right-24: Read More](/zilliqa2/nodes/) + +- __Development tools, SDKs, and Git repositories__ + + [:octicons-arrow-right-24: Read More](/zilliqa2/sdk/) + +- __Supported APIs__ + + [:octicons-arrow-right-24: Read More](/zilliqa2/support/) + +
+ +More documentation for Zilliqa 2.0 will become available as new functionality is rolled out to the protocol and its capabilities are expanded. + +*__Note:__ This documentation refers to Zilliqa 2.0. Documentation for the current production version of Zilliqa is available at + [https://dev.zilliqa.com/zilliqa1/](/zilliqa1/)* -Hopefully this is a little easier to navigate than the previous developer site. diff --git a/zq2/docs/nodes.md b/zq2/docs/nodes.md new file mode 100644 index 0000000..aca2c03 --- /dev/null +++ b/zq2/docs/nodes.md @@ -0,0 +1,29 @@ +--- +id: nodes +title: Nodes and Validators +--- + +# Nodes and Validators + +The current proto-testnet version of Zilliqa 2.0 allows users to setup a node and join the network. + +### Running a Node + +``` py +[INSERT GUIDE HERE] +``` + + +### Becoming a Validator +Under the consensus mechanism introduced in Zilliqa 2.0, validators stake ZIL to secure the network, in return for which they receive a share of block rewards. + +While becoming a validator on the Zilliqa 2.0 mainnet will be permissionless, on the current proto-testnet you need to request the minimum required stake of 10 million ZIL in order for you to register as a validator. + +To register as a validator on the Jasper proto-testnet, please complete and submit this form. + + +Below is a guide on how to register a validator node for Zilliqa 2.0: + +``` py +[INSERT GUIDE HERE] +``` diff --git a/zq2/docs/sdk.md b/zq2/docs/sdk.md index f1cdc7a..ab01a2f 100644 --- a/zq2/docs/sdk.md +++ b/zq2/docs/sdk.md @@ -1,53 +1,44 @@ --- id: sdk -title: Zilliqa SDKs +title: Tools and repositories --- -# Zilliqa SDKs, repositories, and tools +# Tools and repositories -Note that a list of useful on-chain facilities (contracts, etc.) can be found via the [ecosystem](ecosystem/ecosystem.md) pages. +Below is a list of useful tools for use with the Zilliqa 2.0 proto-testnet: -## Zilliqa SDKs +### EVM Development Environments +Zilliqa 2.0 features an EVM execution layer and can therefore be used with standard EVM tools and frameworks.
+These include popular IDEs such as VSCode, Remix, and many others. -We provide native SDKs for: -- [Rust](https://crates.io/crates/zilliqa-rs) -- [Golang](https://github.com/Zilliqa/gozilliqa-sdk) -- [Java](https://github.com/Zilliqa/zilliqa-developer/tree/main/products/laksaj) -- [Javascript/typescript](https://www.npmjs.com/package/@zilliqa-js/zilliqa) -- [Python](https://github.com/zilliqa/pyzil) - -## Scilla tools +### Neo Savant 2.0 +The Neo Savant 2.0 IDE is an upgraded version of the original online IDE for creating and deploying Scilla contracts. This version adds a host of new features, including multi-tab text editing and the ability to read contract states. -We provide various tools and information about Scilla: +Neo Savant 2.0 can be accessed at https://ide.zilliqa.com/ -- [Scilla documentation](https://scilla.readthedocs.org/latest/) and a [tutorial](https://learnscilla.com). -- [Neo-Savant](https://ide.zilliqa.com/) - a GUI for writing Scilla -- You can deploy and test Scilla contracts via hardhat using the [Scilla hardhat plugin](https://github.com/Zilliqa/hardhat-scilla-plugin) -## EVM libraries +### SDKs and other tools -We provide local forks of: +Zilliqa 2.0 continues providing native SDKs for: -- [ethers.js](https://github.com/Zilliqa/ethers.js) - because ethers has recently started strictly enforcing canonical signatures and, of course, the signatures on native Zilliqa transactions (being Schnorr signatures) cannot be canonical. -- [otterscan](https://github.com/Zilliqa/otterscan) - to add the ability to understand Zilliqa native transactions. - -## Sample contracts +- [Rust](https://crates.io/crates/zilliqa-rs) +- [Golang](https://github.com/Zilliqa/gozilliqa-sdk) +- [Java](https://github.com/Zilliqa/zilliqa-developer/tree/main/products/laksaj) +- [Javascript/typescript](https://www.npmjs.com/package/@zilliqa-js/zilliqa) +- [Python](https://github.com/zilliqa/pyzil) -- [ZRC](https://github.com/Zilliqa/zrc) contains reference contracts and standards for Zilliqa native contracts. -- [zilliqa-developer/contracts](https://github.com/Zilliqa/zilliqa-developer/tree/main/contracts) contains more extensive/complex contracts. +We also continue to maintain tools such as: -In particular, `zilliqa-developer` contains contracts for vesting and burning tokens, and for generating contracts that expose native Zilliqa functionality to EVM (eg. for generating an ERC-20 compatible token contract that manipulates an underlying ZRC-2 asset). +- [Scilla hardhat plugin](https://github.com/Zilliqa/hardhat-scilla-plugin) - to support deploying and testing Scilla contracts +- [ethers.js fork](https://github.com/Zilliqa/ethers.js) - to support the non-canonical signatures of non-EVM Zilliqa transactions (Schnorr signatures) +- [otterscan fork](https://github.com/Zilliqa/otterscan) - to add the ability to understand non-EVM (Scilla) transactions -## Zilliqa source -We provide a number of repositories as open source: +### Open-source repositories +We provide a number of open-source repositories relevant to Zilliqa 2.0: - [zq2](https://github.com/Zilliqa/zq2) - the Zilliqa 2 source code itself. -- [zilliqa-developer](https://github.com/Zilliqa/zilliqa-developer) - this contains source for, among other things - - [eth-spout](https://github.com/Zilliqa/zilliqa-developer/tree/main/products/eth-spout) a simple faucet. - - [xbridge](https://github.com/Zilliqa/zilliqa-developer/tree/main/products/bridge) a cross-chain contract bridge. - - [multisig](https://github.com/Zilliqa/zilliqa-developer/tree/main/products/multisig) - a scilla multisig implementation - - [neo-savant](https://github.com/Zilliqa/zilliqa-developer/tree/main/products/neo-savant) - the Scilla IDE - - [pdt](https://github.com/Zilliqa/zilliqa-developer/tree/main/products/pdt) - a utility which turns the state of the blockchain into a BigQuery dataset or PostgreSQL database. - - [developer-portal-zq2](https://github.com/Zilliqa/zilliqa-developer/tree/main/products/developer-portal-zq2) - this developer portal +- [eth-spout](https://github.com/Zilliqa/zilliqa-developer/tree/main/products/eth-spout) - a simple faucet. +- [neo-savant](https://github.com/Zilliqa/zilliqa-developer/tree/main/products/neo-savant) - the Scilla IDE +- [developer-portal-zq2](#) - this developer portal \ No newline at end of file diff --git a/zq2/docs/stylesheets/extra.css b/zq2/docs/stylesheets/extra.css index 27e1855..7600abb 100644 --- a/zq2/docs/stylesheets/extra.css +++ b/zq2/docs/stylesheets/extra.css @@ -14,23 +14,26 @@ } [data-md-color-scheme="zilliqa"] { - --md-primary-fg-color: #272626; + --md-primary-fg-color: #000000; --md-primary-bg-color: #ffffff; --md-default-fg-color: #ffffff; --md-default-fg-color--light: #ffffff; --md-default-fg-color--dark: #ffffff; + --md-default-fg-color--lightest: #808080; +; + --md-typeset-color: #ffffff; --md-typeset-a-color: #00d0c6; --md-accent-fg-color: #00d0c6; --md-accent-fg-color--light: #00d0c6; --md-accent-fg-color--dark: #00d0c6; - --md-default-bg-color: #272626; + --md-default-bg-color: #0a0a0a; --md-primary-bg-color: #272626; --md-primary-bg-color--light: #272626; - --md-code-bg-color: #272626; - --md-code-fg-color: #c0c0c0; + --md-code-bg-color: #292929; + --md-code-fg-color: #ffffff; --md-code-fg-color--light: #ffffff; --md-code-hl-comment-color: #cccc00; --md-typeset-table-color: #808080; @@ -40,7 +43,8 @@ --md-code-default-fg-color: #c0c0c0; --md-code-default-fg-color--light: #ffffff; --md-code-hl-variable-color: #c02080; - --md-code-hl-name-color: #9090c0; + --md-code-hl-name-color: #00d0c6; + ; --md-code-hl-operator-color: #90c090; } @@ -49,11 +53,11 @@ } .md-search__input + .md-search__icon { - color: #ff0000; + color: #6329b7; } .md-search__input::placeholder { - color: #00ff00; + color: #00d7bc; } .md-typeset__table { @@ -125,3 +129,16 @@ td { width: 30em; font-size: 14pt; } + +.md-typeset h1,.md-typeset h2,.md-typeset h3 { + font-weight: 600; + letter-spacing: -.01em +} + +.highlight span.filename { + border-bottom: .05rem solid var(--md-default-fg-color--lighter); +} + +.md-typeset em{ + color: var(--md-default-fg-color--lightest) +} \ No newline at end of file diff --git a/zq2/docs/support.md b/zq2/docs/support.md new file mode 100644 index 0000000..a9e8599 --- /dev/null +++ b/zq2/docs/support.md @@ -0,0 +1,11 @@ +--- + +id: support +title: Support & Feedback +--- + +# Support & Feedback + +If you have any feedback on the developer portal or questions about Zilliqa 2.0 that are not addressed in this documentation, please reach out to us on [Discord](https://discord.com/invite/XMRE9tt). + +We welcome feedback and suggestions for improving the Zilliqa 2.0 developer experience. diff --git a/zq2/mkdocs.in.yaml b/zq2/mkdocs.in.yaml index b2cb24c..b075fb0 100644 --- a/zq2/mkdocs.in.yaml +++ b/zq2/mkdocs.in.yaml @@ -1,11 +1,10 @@ INHERIT: ./parent.yaml nav: - - News: index.md - - Home: home.md - - New in ZQ2: changes.md - - Zilliqa 1: - - Documentation: zq1/index.md - - Endpoints: endpoints.md + - Welcome: index.md + - What's new: changes.md + - Endpoints and more: endpoints.md + - Nodes and Validators: nodes.md + - Tools and SDKs: sdk.md - FAQ: faq.md - Ecosystem: - DeFi: ecosystem/defi.md @@ -41,7 +40,6 @@ nav: - Nodes: running/node.md - Validators: running/validator.md - Networks: running/network.md - - SDKs and tools: sdk.md - EVM: - Interop: zilevm/interop.md - Metamask: zilevm/metamask.md