From d50f4954a0599bd758ab9979a47e1f4e955452b2 Mon Sep 17 00:00:00 2001 From: Owanate Amachree Date: Wed, 25 Sep 2024 15:57:05 +0200 Subject: [PATCH 01/98] initial dev tools folder update --- .../02-overview/index.md | 2 +- docs/02-developers/04-quickstart/index.md | 2 +- .../04-tutorials/dapp-automation-cucumber.md | 4 +- .../05-dev-tools/account-abstraction/index.md | 44 ++++ docs/05-dev-tools/additional-tools/index.md | 23 +++ docs/05-dev-tools/code-quality/index.md | 21 ++ .../05-dev-tools/cross-chain-bridges/index.md | 31 +++ docs/05-dev-tools/data/envio.md | 194 ++++++++++++++++++ docs/05-dev-tools/data/index.md | 39 ++++ docs/05-dev-tools/{ => data}/thegraph.md | 2 +- .../{ => environments}/foundry.md | 0 .../{ => environments}/hardhat.md | 0 docs/05-dev-tools/environments/index.md | 36 ++++ docs/05-dev-tools/explorers/blockscout.md | 2 +- docs/05-dev-tools/explorers/index.md | 62 ++---- docs/05-dev-tools/explorers/rootstock.md | 59 ++++++ docs/05-dev-tools/index.md | 4 +- docs/05-dev-tools/interoperability/index.md | 15 ++ docs/05-dev-tools/mining/index.md | 19 ++ docs/05-dev-tools/node-rpc/index.md | 25 +++ docs/05-dev-tools/sdks/index.md | 11 + docs/05-dev-tools/wallets/index.md | 6 +- 22 files changed, 541 insertions(+), 60 deletions(-) create mode 100644 docs/05-dev-tools/account-abstraction/index.md create mode 100644 docs/05-dev-tools/additional-tools/index.md create mode 100644 docs/05-dev-tools/code-quality/index.md create mode 100644 docs/05-dev-tools/cross-chain-bridges/index.md create mode 100644 docs/05-dev-tools/data/envio.md create mode 100644 docs/05-dev-tools/data/index.md rename docs/05-dev-tools/{ => data}/thegraph.md (99%) rename docs/05-dev-tools/{ => environments}/foundry.md (100%) rename docs/05-dev-tools/{ => environments}/hardhat.md (100%) create mode 100644 docs/05-dev-tools/environments/index.md create mode 100644 docs/05-dev-tools/explorers/rootstock.md create mode 100644 docs/05-dev-tools/interoperability/index.md create mode 100644 docs/05-dev-tools/mining/index.md create mode 100644 docs/05-dev-tools/node-rpc/index.md create mode 100644 docs/05-dev-tools/sdks/index.md diff --git a/docs/02-developers/03-blockchain-essentials/02-overview/index.md b/docs/02-developers/03-blockchain-essentials/02-overview/index.md index d98f26d0..29b70943 100644 --- a/docs/02-developers/03-blockchain-essentials/02-overview/index.md +++ b/docs/02-developers/03-blockchain-essentials/02-overview/index.md @@ -146,7 +146,7 @@ Thus, the smart contract/dApp development skills that you’re used to will tran ### Tools - [Hardhat](https://hardhat.org/docs) is an Ethereum development environment designed for professionals. It's primarily used in the development of smart contracts for the Ethereum blockchain. - Refer to the [Hardhat Overview](/dev-tools/hardhat/) for an overview of how it's used on Rootstock. + Refer to the [Hardhat Overview](/dev-tools/environments/hardhat/) for an overview of how it's used on Rootstock. - [Metamask](https://metamask.io/) is a browser extension cryptocurrency wallet or mobile app, enabling users to interact with the Rootstock blockchain, diff --git a/docs/02-developers/04-quickstart/index.md b/docs/02-developers/04-quickstart/index.md index 37909ab8..65ce84b8 100644 --- a/docs/02-developers/04-quickstart/index.md +++ b/docs/02-developers/04-quickstart/index.md @@ -66,7 +66,7 @@ values={[ title="Get Started with The Graph" subtitle="quickstart" color="orange" - linkHref="/dev-tools/thegraph/" + linkHref="/dev-tools/data/thegraph/" linkTitle="Get Started" description="Easily query on-chain data through a decentralized network of indexers" /> diff --git a/docs/04-resources/04-tutorials/dapp-automation-cucumber.md b/docs/04-resources/04-tutorials/dapp-automation-cucumber.md index 5bdfe1f7..4a1a6ea0 100644 --- a/docs/04-resources/04-tutorials/dapp-automation-cucumber.md +++ b/docs/04-resources/04-tutorials/dapp-automation-cucumber.md @@ -10,8 +10,8 @@ Rootstock is a blockchain platform that extends the capabilities of the Bitcoin This guide aim to introduce you to an [agile automation framework](https://github.com/rsksmart/e2e_dapps_automation) designed exclusively for decentralized applications (dApps) automation and E2E testing. -This solution seamlessly brings together Cucumber's user-friendly behavior-driven development, Playwright's precise browser automation, and the tailored DApp testing capabilities of Synpress. With Cucumber's Gherkin syntax, teams collaboratively define DApp behaviors. Playwright, customized for Chrome, adds finesse to browser automation. Synpress, in its Playwright version, effortlessly integrates with MetaMask (more software wallets to come) for thorough DApp testing. -This way, developers enjoy expressive scenarios, targeted browser automation, and specialized DApp testing features. +This solution seamlessly brings together Cucumber's user-friendly behavior-driven development, Playwright's precise browser automation, and the tailored dApp testing capabilities of Synpress. With Cucumber's Gherkin syntax, teams collaboratively define DApp behaviors. Playwright, customized for Chrome, adds finesse to browser automation. Synpress, in its Playwright version, effortlessly integrates with MetaMask (more software wallets to come) for thorough dApp testing. +This way, developers enjoy expressive scenarios, targeted browser automation, and specialized dApp testing features. ## Prerequisites diff --git a/docs/05-dev-tools/account-abstraction/index.md b/docs/05-dev-tools/account-abstraction/index.md new file mode 100644 index 00000000..93e75f27 --- /dev/null +++ b/docs/05-dev-tools/account-abstraction/index.md @@ -0,0 +1,44 @@ +--- +sidebar_position: 3 +sidebar_label: Account Abstraction +title: Account Abstraction +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] +--- + + +Account abstraction enables the creation of new types of accounts called “contract-type accounts” or simply “accounts”. These accounts can hold both code and ether, and they can execute transactions and smart contract functions. This means that contracts can directly control and manipulate funds, eliminating the need for a separate EOA to initiate transactions. + +Simply put; +Regular accounts hold your crypto and need your private key for transactions. Account abstraction lets you create smarter accounts like mini-apps that hold your crypto and can send transactions without needing your key every time. + +## Benefits + +Account abstraction brings several benefits to the Rootstock ecosystem: + +- Enhanced efficiency: By allowing contracts to directly control funds, account abstraction reduces the number of transactions and storage operations required. This leads to improved efficiency and reduces gas costs. +- Improved privacy: Account abstraction enables the creation of more sophisticated smart contracts that can handle transactions privately within the contract itself. It eliminates the need for external transactions, enhancing privacy for users. +- Flexible fee payment models: With account abstraction, contracts can pay transaction fees on behalf of users. This allows for more flexible fee payment models, such as subscriptions or microtransactions, where users don’t need to have ether to execute transactions. +- Customized transaction semantics: Account abstraction opens up possibilities for customizing transaction semantics. Contracts can define their own rules and conditions for executing transactions, enabling more complex and dynamic interactions. + +## Account Abstraction Solutions on Rootstock + +## Etherspot + +Etherspot is a top-notch Account Abstraction infrastructure designed to help developers create an unparalleled user experience for their blockchain protocols on Ethereum and EVM-compatible chains. Get started with [Account Abstraction on Rootstock using Etherspot Prime SDK](https://etherspot.fyi/prime-sdk/intro). + +Currently available on: + + + + YES + + + NO + + + +## Gelato + + + diff --git a/docs/05-dev-tools/additional-tools/index.md b/docs/05-dev-tools/additional-tools/index.md new file mode 100644 index 00000000..16a13b39 --- /dev/null +++ b/docs/05-dev-tools/additional-tools/index.md @@ -0,0 +1,23 @@ +--- +sidebar_position: 12 +sidebar_label: General Tools +title: General Tools +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] +--- + +## Faucets + +* [Rootstock Faucet](https://faucet.rootstock.io/) + +* [RIF Testnet Faucet](https://faucet.rifos.org/) + +## Gas + +* [Rootstock Gas Station](https://rskgasstation.info/?AspxAutoDetectCookieSupport=1) + +## Exchanges + +You can get RBTC via exchanges and bridges. See the [RBTC](https://rootstock.io/rbtc/) section to get started. To get RIF, see the [RIF Token](https://rif.technology/rif-token/) section. + + diff --git a/docs/05-dev-tools/code-quality/index.md b/docs/05-dev-tools/code-quality/index.md new file mode 100644 index 00000000..c38aa178 --- /dev/null +++ b/docs/05-dev-tools/code-quality/index.md @@ -0,0 +1,21 @@ +--- +sidebar_position: 9 +sidebar_label: Code Quality +title: Code Quality +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] +--- + +Here you can find tools to test and verify your smart contracts. + +## Sourcify + +Sourcify enables transparent and human-readable smart contract interactions through automated Solidity contract verification, contract metadata, and NatSpec comments. + +## Slither + +The Slither framework provides automated vulnerability and optimization detection, as well as assistive codebase summaries to further developer comprehension. + +## Cucumber + +Cucumber's user-friendly behavior-driven development, Playwright's precise browser automation, and the tailored dApp testing capabilities of Synpress. With Cucumber's Gherkin syntax, teams collaboratively define DApp behaviors. Playwright, customized for Chrome, adds finesse to browser automation. Synpress, in its Playwright version, effortlessly integrates with MetaMask (more software wallets to come) for thorough dApp testing. Get started using the [dApp automation with Cucumber and Playwright](/resources/tutorials/dapp-automation-cucumber) \ No newline at end of file diff --git a/docs/05-dev-tools/cross-chain-bridges/index.md b/docs/05-dev-tools/cross-chain-bridges/index.md new file mode 100644 index 00000000..989965cc --- /dev/null +++ b/docs/05-dev-tools/cross-chain-bridges/index.md @@ -0,0 +1,31 @@ +--- +sidebar_position: 5 +sidebar_label: Cross Chain Bridges +title: Cross Chain Bridges +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] +--- + +## Router Protocol + +Router Protocol is a layer-1 blockchain enabling chain abstraction. + +## Chainport + +Chainport is a cross-chain bridge integrated with Rootstock. + +## Wormhole + +Wormhole provides access to all the information you need to develop secure multichain applications powered by Wormhole on Rootstock. + +## Tokenbridge + +Safely move your ERC20 tokens between Rootstock and Ethereum with the Tokenbridge dApp. This user-friendly interface lets you interact with the Token Bridge contracts directly. It is available on [Mainnet](https://dapp.tokenbridge.rootstock.io/) or [Testnet](https://dapp.testnet.bridges.rootstock.io/). + +## PowPeg App + +The [PowPeg App](https://powpeg.rootstock.io/) converts BTC to RBTC and vice versa. It is secured by the [PowPeg protocol](/concepts/powpeg/), which is a unique protocol that secures the locked bitcoins with the same Bitcoin hashrate that establishes consensus. + +It is a web application that fosters the interaction between the bitcoin blockchain and the Rootstock network for easier exchange of BTC and RBTC. It also provides a way to visualize the status of transactions, communicate with a user wallet (both hardware wallets and software wallets), while also providing the highest possible level of security for transactions. + +Get started with the [PowPeg App](/resources/guides/powpeg-app/) \ No newline at end of file diff --git a/docs/05-dev-tools/data/envio.md b/docs/05-dev-tools/data/envio.md new file mode 100644 index 00000000..de8d9c75 --- /dev/null +++ b/docs/05-dev-tools/data/envio.md @@ -0,0 +1,194 @@ +--- +sidebar_label: Envio +sidebar_position: 2 +title: Get Started with Envio +description: "Easily query on-chain data through a decentralized network of indexers" +tags: [Envio, indexers, data, subgraphs, dApps, smart contracts, developers, developer tools, get-started, how-to] +--- + +[Envio](https://envio.dev/) is a feature-rich indexing solution that provides developers with a seamless and efficient way to index and aggregate real-time or historical blockchain data for Rootstock, and **other EVM chains**. The indexed data is easily accessible through custom [GraphQL](https://graphql.org/) queries, giving developers the flexibility and power to retrieve specific information. See [Getting started with Envio](/dev-tools/data/envio/) + +Developers can choose whether they want to start from a template (e.g. Blank, ERC-20, etc.), or use the Contract Import feature: + +## Prerequisites + +The following are the prerequisite packages required for Envio: + +* [Node.js](http://node.js) (use[ v18](https://nodejs.org/download/release/v18.18.0/) or newer) +* [pnpm](https://pnpm.io/installation) (use v8 or newer) +* [Docker Desktop](https://www.docker.com/products/docker-desktop/) + +Docker is required specifically for running the Envio indexer locally. + + +## Installation + +You can install Envio by running the command below: + + +```bash +npm i -g envio +``` + +Command to see available CLI commands for Envio. + +```bash +envio --help +``` + +The following files are required from the user to run the Envio indexer: + +* Configuration (defaults to config.yaml) +* GraphQL Schema (defaults to schema.graphql) +* Event Handlers (defaults to src/EventHandlers.* depending on the language chosen) + +These files are auto-generated according to the template and language chosen by running the envio init command. + + +## Contract Import Tutorial + +This walkthrough explains how to initialise an indexer using single or multiple contracts that are already deployed on a blockchain. This process allows a user to quickly and easily start up a basic indexer and a queryable GraphQL API for their blockchain application within a few minutes. + + +### Initialize your indexer + +cd into the folder of your choice and run + + +```bash +envio init +``` + + +Name your indexer: + +```bash +? Name your indexer: +``` + +Choose the directory where you would like to set up your project (default is the current directory) + +```text +? Set the directory: (.) . +``` + + +Select Contract Import as the initialization option. + + +```text +? Choose an initialization option + Template +> ContractImport +[↑↓ to move, enter to select, type to filter] +``` + + + +```text +? Would you like to import from a block explorer or a local abi? + Block Explorer +> Local ABI +[↑↓ to move, enter to select, type to filter] +``` + + +The Block Explorer option only requires users to input the contract address and chain. This is the quickest setup if the contract is verified and deployed on one of the supported chains, as it will retrieve all needed contract information from a block explorer. + +> _**📣Please note**: The Block Explorer option currently only supports networks with Etherscan. You can use the Local ABI option if the network doesn't have Etherscan._ + +Choosing Local ABI option will allow you to point to a JSON file containing the smart contract ABI. The Contract Import process will then populate the required files from the ABI. + +**Specify the directory of the JSON file containing ABI** + + +```text +? What is the path to your json abi file? +``` + + +**Choose which events to include in the config.yaml file** + + +```text +? Which events would you like to index? +> [x] ClaimRewards(address indexed from, address indexed reward, uint256 amount) + [x] Deposit(address indexed from, uint256 indexed tokenId, uint256 amount) + [x] NotifyReward(address indexed from, address indexed reward, uint256 indexed epoch, uint256 amount) + [x] Withdraw(address indexed from, uint256 indexed tokenId, uint256 amount) +[↑↓ to move, space to select one, → to all, ← to none, type to filter] +``` + + +**Specify which chain the contract is deployed on** + + +```text +? Choose network: + + ethereum-mainnet + goerli + optimism + base + bsc +> rootstock +v polygon +[↑↓ to move, enter to select, type to filter] +``` + + +**Enter the name of the contract** + + +```text +? What is the name of this contract? +``` + + +**Enter the address of the contract** + + +```text +? What is the address of the contract? +[Use the proxy address if your abi is a proxy implementation] +``` + + +> _**📣Note**: if you use a proxy contract with an implementation, the address should be for the proxy._ + +**Select the continuation option** + + +```text +? Would you like to add another contract? +> I'm finished + Add a new address for same contract on same network + Add a new network for same contract + Add a new contract (with a different ABI) +[Current contract: BribeVotingReward, on network: rootstock] +``` + + +The Contract Import process will prompt the user whether they would like to finish the import process or continue adding more addresses for the same contract on the same network, addresses for the same contract on a different network, or a different contract. + +For more information on the contract import feature, visit the documentation[ here](https://docs.envio.dev/docs/contract-import). + + +## Envio Indexer Examples + +Click [here](https://docs.envio.dev/docs/example-uniswap-v3) for more examples. + + +## Get in touch + +Indexing can be a rollercoaster, especially for more complex use cases. Our engineers are available to help you with your data availability needs. + +For any technical queries or issues feel free to reach us at [hello@envio.dev](mailto:hello@envio.dev). + + +## Resources + +* [Landing page](https://envio.dev/) +* [Documentation](https://docs.envio.dev/docs/overview) +* [Blog](https://docs.envio.dev/blog) +* [GitHub](https://github.com/enviodev) diff --git a/docs/05-dev-tools/data/index.md b/docs/05-dev-tools/data/index.md new file mode 100644 index 00000000..cf1f7226 --- /dev/null +++ b/docs/05-dev-tools/data/index.md @@ -0,0 +1,39 @@ +--- +sidebar_position: 5 +sidebar_label: On chain data & Indexing +title: Data Indexing +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] +--- + +## TheGraph + +Getting historical data on smart contracts can be challenging when building dApps. [The Graph](https://thegraph.com/) provides an easy way to query smart contracts data through APIs known as [subgraphs](https://thegraph.com/docs/en/developing/developer-faqs/#1-what-is-a-subgraph). Its infrastructure relies on a decentralized network of indexers, enabling dApps to achieve true decentralization. See [Getting started with TheGraph](./thegraph.md). + +## Envio + +[Envio](https://envio.dev/) is a feature-rich indexing solution that provides developers with a seamless and efficient way to index and aggregate real-time or historical blockchain data for Rootstock, and **other EVM chains**. The indexed data is easily accessible through custom [GraphQL](https://graphql.org/) queries, giving developers the flexibility and power to retrieve specific information. + +Envio offers native support for Rootstock and has been designed to support high-throughput blockchain applications that rely on real-time data for their business requirements. + +Designed to optimize the developer experience, Envio offers automatic code generation, flexible language support, quickstart templates, and a reliable, cost-effective hosted service. + +Indexers on Envio can be written in [JavaScript](https://www.javascript.com/), [TypeScript](https://www.typescriptlang.org/), or [ReScript](https://rescript-lang.org/). + +## Covalent + +Covalent provides the industry-leading Unified API bringing visibility to billions of Web3 data points. Developers use Covalent to build exciting multi-chain applications like crypto wallets, NFT galleries, and investor dashboard tools utilizing data from 100+ blockchains including Rootstock. + +The Covalent API maintains a full archival copy of every supported blockchain, meaning every balance, transaction, log event, and NFT asset data is available from the genesis block. This data is available via: + +1. [Unified API](#unified-api) - Incorporate blockchain data into your app with a familiar REST API +2. [Increment](#increment) - Create and embed custom charts with no-code analytics + +### Why use Covalent? + +Use Covalent if you need: +* Structured and enhanced on-chain data well beyond what you get from RPC providers +* Broad and deep multi-chain data at scale +* Enterprise-grade performance + +> **[Sign up to start building on Rootstock](https://www.covalenthq.com/platform/?utm_source=rootstock&utm_medium=partner-docs)** diff --git a/docs/05-dev-tools/thegraph.md b/docs/05-dev-tools/data/thegraph.md similarity index 99% rename from docs/05-dev-tools/thegraph.md rename to docs/05-dev-tools/data/thegraph.md index 9b0989c5..33b7a807 100644 --- a/docs/05-dev-tools/thegraph.md +++ b/docs/05-dev-tools/data/thegraph.md @@ -1,6 +1,6 @@ --- sidebar_label: The Graph -sidebar_position: 2 +sidebar_position: 3 title: Get Started with The Graph description: "Easily query on-chain data through a decentralized network of indexers" tags: [TheGraph, indexers, data, subgraphs, dApps, smart contracts, developers, developer tools, get-started, how-to] diff --git a/docs/05-dev-tools/foundry.md b/docs/05-dev-tools/environments/foundry.md similarity index 100% rename from docs/05-dev-tools/foundry.md rename to docs/05-dev-tools/environments/foundry.md diff --git a/docs/05-dev-tools/hardhat.md b/docs/05-dev-tools/environments/hardhat.md similarity index 100% rename from docs/05-dev-tools/hardhat.md rename to docs/05-dev-tools/environments/hardhat.md diff --git a/docs/05-dev-tools/environments/index.md b/docs/05-dev-tools/environments/index.md new file mode 100644 index 00000000..9380dd5b --- /dev/null +++ b/docs/05-dev-tools/environments/index.md @@ -0,0 +1,36 @@ +--- +sidebar_position: 2 +sidebar_label: Environments +title: Dev Environments +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] +--- + +## Hardhat +[Hardhat](https://hardhat.org/docs) is an Ethereum development environment for developers. It's primarily used in the development of smart contracts for the Rootstock and EVM-compatible chains. + +### Resources +* [Hardhat Quick Start Guide](/developers/quickstart/) +* [Hardhat Guide](/developers/smart-contracts/) + + +## Remix + +[Remix](https://remix.ethereum.org/) is an online web tool. It is an IDE (Integrated Development Environment) used to write, compile, deploy and debug Solidity code. Can be connected with Metamask and used to deploy smart contracts to both the Rootstock Testnet and Mainnet. + +## Foundry + +[Foundry](https://book.getfoundry.sh) is a smart contract development toolchain, and user-friendly development environment for writing and testing smart contracts in Solidity. It manages dependencies, compiles, run tests, deploy contracts and allows for interaction with EVM-compatible chains using a command-line tool called [Forge](https://book.getfoundry.sh/forge/). + +### Resources +* [Getting started with Foundry](/developers/smart-contracts/foundry/) + +## No Code Platforms + +### CryptoDO + +CryptoDo is a multichain, no-code web3 solution builder for businesses. + +### Forward Protocol + +Build a dApp on Rootstock using Forward Protocol's no-code tools. \ No newline at end of file diff --git a/docs/05-dev-tools/explorers/blockscout.md b/docs/05-dev-tools/explorers/blockscout.md index 9d26654d..e083d69b 100644 --- a/docs/05-dev-tools/explorers/blockscout.md +++ b/docs/05-dev-tools/explorers/blockscout.md @@ -1,5 +1,5 @@ --- -sidebar_position: 2 +sidebar_position: 4 sidebar_label: Blockscout Explorer title: Get Started with Rootstock Blockscout Explorer tags: [rsk, explorer, rootstock, Blockscout, smart contracts, transactions, tools] diff --git a/docs/05-dev-tools/explorers/index.md b/docs/05-dev-tools/explorers/index.md index eee9006f..0ddf54f1 100644 --- a/docs/05-dev-tools/explorers/index.md +++ b/docs/05-dev-tools/explorers/index.md @@ -1,59 +1,23 @@ --- -sidebar_position: 3 -sidebar_label: Rootstock Explorers -title: Overview of the Rootstock Explorer -tags: [overview, explorer, rootstock, smart contracts, transactions, developer tools] -description: Explore transaction +sidebar_position: 4 +sidebar_label: Explorers +title: Explorers +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] --- -You can browse the overview of Rootstock on the [explorer page](https://explorer.rootstock.io/) as shown below. +## Explorers -
overview of explorer
+Here's a list of Blockchain explorers on Rootstock. -## Switch between Tabs +### Rootstock Explorer -If you want to view some specific information, you can jump through the tab bar below. +The [Rootstock Explorer](https://explorer.rootstock.io/) provides a UI for exploring and verifying transactions, blocks, addresses, tokens, stats, and interacting with smart contracts. -
tab of explorer
+### Blockscout Explorer -## Search for some information you want +[Blockscout](https://rootstock.blockscout.com/) is a robust open-source tool for exploring transactions on any EVM blockchain, including Rootstock, the leading Bitcoin sidechain1. With Blockscout, you can access in-depth information, verify and interact with smart contracts, create and manage your account, view advanced statistics, and more. -* You can search for the information you want by entering the address, block number or tx hash in the search box. +### 3xpl -
search box
- -## Last Block Information - -The next section is a panel about the last block. - -* You can see the block number, address, the total number of transactions, and the duration in turn. - -* Click on the number link and you can jump to the detailed page of this block. - -* Especially,you can copy the address code by clicking the icon over the string. - -
panel of last block
- -## Last Block Transactions - -The line graph below shows the transaction density. - -
line graph of transactions
- -## List of Blocks - -All the items in this list are the basic information of a block. - -* Click the link in the title location to update the list. - -* Click the **see all blocks** to display the full list. - -
list of blocks
- -## List of Transactions - -All the items in this list are the basic information of a transaction. - -* Click the **see all transactions** to display the full list. - -
list of transactions
+[3xpl](https://3xpl.com/rootstock) 3xpl (short for 3xplor3r) is a super-fast, universal explorer for most popular public blockchains. It offers an easy-to-understand block explorer interface for ordinary crypto users, as well as lots of professional features for developers and analysts. \ No newline at end of file diff --git a/docs/05-dev-tools/explorers/rootstock.md b/docs/05-dev-tools/explorers/rootstock.md new file mode 100644 index 00000000..eee9006f --- /dev/null +++ b/docs/05-dev-tools/explorers/rootstock.md @@ -0,0 +1,59 @@ +--- +sidebar_position: 3 +sidebar_label: Rootstock Explorers +title: Overview of the Rootstock Explorer +tags: [overview, explorer, rootstock, smart contracts, transactions, developer tools] +description: Explore transaction +--- + +You can browse the overview of Rootstock on the [explorer page](https://explorer.rootstock.io/) as shown below. + +
overview of explorer
+ +## Switch between Tabs + +If you want to view some specific information, you can jump through the tab bar below. + +
tab of explorer
+ +## Search for some information you want + +* You can search for the information you want by entering the address, block number or tx hash in the search box. + +
search box
+ +## Last Block Information + +The next section is a panel about the last block. + +* You can see the block number, address, the total number of transactions, and the duration in turn. + +* Click on the number link and you can jump to the detailed page of this block. + +* Especially,you can copy the address code by clicking the icon over the string. + +
panel of last block
+ +## Last Block Transactions + +The line graph below shows the transaction density. + +
line graph of transactions
+ +## List of Blocks + +All the items in this list are the basic information of a block. + +* Click the link in the title location to update the list. + +* Click the **see all blocks** to display the full list. + +
list of blocks
+ +## List of Transactions + +All the items in this list are the basic information of a transaction. + +* Click the **see all transactions** to display the full list. + +
list of transactions
diff --git a/docs/05-dev-tools/index.md b/docs/05-dev-tools/index.md index dbfcab84..3c2587b2 100644 --- a/docs/05-dev-tools/index.md +++ b/docs/05-dev-tools/index.md @@ -64,7 +64,7 @@ description: "Explore a curated selection of smart contract development tools an title="Hardhat" subtitle="Dev Environments" color="orange" - linkHref="/dev-tools/hardhat/" + linkHref="/dev-tools/environments/hardhat/" linkTitle="Deploy Smart Contracts" description="Hardhat is an Ethereum development environment for developers. It's primarily used in the development of smart contracts for the Rootstock and EVM-compatible chains." /> @@ -190,7 +190,7 @@ description: "Explore a curated selection of smart contract development tools an title="The Graph" subtitle="data & analytics" color="orange" - linkHref="/dev-tools/thegraph/" + linkHref="/dev-tools/data/thegraph/" linkTitle="Access on-chain data" description="Get historical data on smart contracts when building dApps." /> diff --git a/docs/05-dev-tools/interoperability/index.md b/docs/05-dev-tools/interoperability/index.md new file mode 100644 index 00000000..b4e524c6 --- /dev/null +++ b/docs/05-dev-tools/interoperability/index.md @@ -0,0 +1,15 @@ +--- +sidebar_position: 10 +sidebar_label: Oracles +title: Oracles +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] +--- + +## Umbrella Network + +Umbrella Network provides access to reliable and secure data verified by Umbrella's decentralized network. Utilize Umbrella's Data Layer to build customizable and composable data streams on demand on Rootstock. + +## RedStone Finance + +[RedStone](https://redstone.finance/) provides data feeds to blockchains such as Rootstock and layer 2 scaling solutions across the entire blockchain ecosystem that are both EVM and non-EVM compatible. RedStone allows data to be provided on-demand rather than on a fixed schedule, reducing the costs of putting data 'on-chain'. This is achieved by storing data off of the blockchain as cryptography signed packages and allowing smart contracts of dApps to fetch data when necessary. \ No newline at end of file diff --git a/docs/05-dev-tools/mining/index.md b/docs/05-dev-tools/mining/index.md new file mode 100644 index 00000000..8880c6f0 --- /dev/null +++ b/docs/05-dev-tools/mining/index.md @@ -0,0 +1,19 @@ +--- +sidebar_position: 11 +sidebar_label: Mining Pools +title: Mining Pools on Rootstock +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] +--- + +## Mining + +### BraiinsPool + +### Luxor + +### F2Pool + +### ViaBTC + +### Antpool \ No newline at end of file diff --git a/docs/05-dev-tools/node-rpc/index.md b/docs/05-dev-tools/node-rpc/index.md new file mode 100644 index 00000000..c43b6fd2 --- /dev/null +++ b/docs/05-dev-tools/node-rpc/index.md @@ -0,0 +1,25 @@ +--- +sidebar_position: 8 +sidebar_label: Node RPC +title: Node RPC +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] +--- + +## RPC + +### RPC API + +The [RPC API](http://rpc.rootstock.io/) provides a seamless and intuitive web interface for developers to interact with [Rootstock nodes](/node-operators/setup/) via [JSON-RPC](/node-operators/json-rpc/methods/) methods. It aims to address the challenges faced by developers when trying to access critical information like logs, transactions, and balances through RPC, which can significantly impact the timely development of dApps on the Rootstock blockchain. + +### GetBlock + +GetBlock provides instant connection to blockchain nodes including Rootstock, Bitcoin (BTC), Ethereum (ETH), among others. + +### NOWNodes + +NOWNodes is a blockchain-as-a-service enterprise solution that lets users get access to full Nodes and blockbook Explorers via an API. + +### dRPC + +dRPC provides access to a distributed network of node providers. diff --git a/docs/05-dev-tools/sdks/index.md b/docs/05-dev-tools/sdks/index.md new file mode 100644 index 00000000..f74e423d --- /dev/null +++ b/docs/05-dev-tools/sdks/index.md @@ -0,0 +1,11 @@ +--- +sidebar_position: 6 +sidebar_label: SDKs / CLIs / Libraries +title: SDKs / CLIs / Libraries +description: "How to get started with writing, deploying and testing smart contracts on Rootstock using Hardhat." +tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts] +--- + +### RIF Wallet + +### RIF Relay diff --git a/docs/05-dev-tools/wallets/index.md b/docs/05-dev-tools/wallets/index.md index 317b4e9c..c9d864d7 100644 --- a/docs/05-dev-tools/wallets/index.md +++ b/docs/05-dev-tools/wallets/index.md @@ -1,6 +1,6 @@ --- -sidebar_label: Rootstock Wallets -sidebar_position: 2 +sidebar_label: Wallets +sidebar_position: 3 title: Wallets compatible with Rootstock tags: [rootstock, tools, rsk, wallets] description: "Learn how to connect to Rootstock with a compatible Wallet" @@ -21,7 +21,7 @@ In the following matrix you can see the different features by wallet. | [Ledger](https://www.ledger.com/) | ✔ | ✔ | ❌ | | [MyEtherWallet](https://www.myetherwallet.com/) | ✔ | ✔ | ✔ | Desktop, Android, IOS | RBTC | [Trezor](https://trezor.io/trezor-suite) | ✔ | ✔ | ❌ | -| [Metamask](https://metamask.io/download) | ❌ | ❌ | ❌ | Browser, Mobile | +| [Metamask](/dev-tools/wallets/metamask) | ❌ | ❌ | ❌ | Browser, Mobile | | [Portis](https://www.portis.io/) | ✔ | ✔ | ✔ | Desktop | Rootstock (RBTC), Bitcoin | | [Rabby Wallet](https://rabby.io) | - | - | - | Chrome, Desktop, Mobile | | [Enkrypt](https://www.enkrypt.com/networks/rootstock-wallet/)| - | - | - | Chrome | Rootstock (RBTC), Bitcoin | From 8c4a590674eef8f87bd562d0ae34e2304c86f1c0 Mon Sep 17 00:00:00 2001 From: Owanate Amachree Date: Thu, 10 Oct 2024 13:43:48 +0200 Subject: [PATCH 02/98] Add Developer Contributor Program Landing Page --- CONTRIBUTING.md | 6 +- .../02-contribute/dev-contributor.md | 184 ++++++++++++++++++ 2 files changed, 187 insertions(+), 3 deletions(-) create mode 100644 docs/04-resources/02-contribute/dev-contributor.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 96e64974..3d30632f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,11 +7,11 @@ All contributions are welcome, including issues, updates and tweaks, blog posts, ## How to Contribute If you are worried or don’t know where to start, check out the next section that explains what kind of help we could use and where you can get involved. -You can send your questions on [Discord](http://discord.gg/rootstock), send a [Pull Request](https://github.com/rsksmart/rsksmart.github.io/pulls) or [Submit an Issue](https://github.com/rsksmart/rsksmart.github.io/issues), and a maintainer will attend to it. +You can send your questions on [Discord](http://discord.gg/rootstock), send a [Pull Request](https://github.com/rsksmart/devportal/pulls) or [Submit an Issue](https://github.com/rsksmart/devportal/issues/new/choose), and a maintainer will attend to it. ### Reporting Bugs -1. **Check for Existing Issues**: Before reporting a bug, please check the [issue tracker](https://github.com/rsksmart/rsksmart.github.io/issues) to see if it has already been reported. +1. **Check for Existing Issues**: Before reporting a bug, please check the [issue tracker](https://github.com/rsksmart/devportal/issues/) to see if it has already been reported. 2. **Create a New Issue**: If your issue is not listed, create a new one. Provide as much detail as possible: - A clear and descriptive title. - Steps to reproduce the bug. @@ -21,7 +21,7 @@ You can send your questions on [Discord](http://discord.gg/rootstock), send a [P ### Suggesting Features -1. **Check for Existing Requests**: Look through the [issue tracker](issues) to see if someone else has suggested the feature. +1. **Check for Existing Requests**: Look through the [issue tracker](https://github.com/rsksmart/devportal/issues/) to see if someone else has suggested the feature. 2. **Create a New Feature Request**: If the feature is not listed, open a new issue. Include: - A clear and descriptive title. - The motivation for the feature. diff --git a/docs/04-resources/02-contribute/dev-contributor.md b/docs/04-resources/02-contribute/dev-contributor.md new file mode 100644 index 00000000..530c2779 --- /dev/null +++ b/docs/04-resources/02-contribute/dev-contributor.md @@ -0,0 +1,184 @@ +--- +sidebar_label: Developer Contributor Program +sidebar_position: 4 +title: 🌱 Rootstock Developer Contributor Program 💻 +description: "The Rootstock Developer Contributor Program allows developers to contribute to Rootstock by contributing code or creating educational content. You get to support the platform at your own pace, and every eligible contribution is rewarded in RIF based on its impact and complexity." +tags: [rootstock, rsk, code, resources, content, developer contributor program, writing] +--- + +Welcome to the Rootstock Developer Contributor Program! This program is designed for developers who want to contribute to the Rootstock ecosystem while earning RIF rewards for their valuable contributions. + +## 🌟 What is it? + +The Rootstock Developer Contributor Program allows developers to contribute to Rootstock by contributing code or creating educational content. You get to support the platform at your own pace, and every eligible contribution is rewarded in RIF based on its impact and complexity. + +## ✔️ General Contribution Criteria +* Quality: Contributions must be valuable to the Rootstock ecosystem, whether improving functionality, enhancing usability, or educating developers and community members. +* Originality: All work should be original and created by you. Translations or adaptations should remain true to the source material. +* Relevance: Contributions must directly benefit Rootstock’s developer community and ecosystem. +* Accuracy: Code, tutorials, and other technical content must be precise and technically correct. + +## 🎁 Rewards +Contributions will be rewarded in RIF based on the value and impact they bring to the Rootstock developer community, following the specifications below for each category. + +## 💡 Types of Developer Contributions Accepted + +### Code Contributions 🛠️ + +**What you can contribute:** + +Developers are encouraged to leverage the developer portal reference use-case projects to make meaningful contributions to the Rootstock ecosystem. See the options below: + + + + 1. Meme Token Launchpad + + Learn more about this project in this [video](https://drive.google.com/file/d/1L6f2nQrhMe0fFFAUZYaengg49TnWtprN/view) or on [Meme Token Launchpad Blog](https://docs.google.com/document/d/1viThMi9WagcAyQFRMYwuqSgYa8hdY2gTr51iI_c1EWI/edit#heading=h.lctlajfmoxe2). [Add link to Repo] + **Contribution Options:** + * Token Creation: Develop an ERC-20 token with essential parameters such as name, ticker, and logo. + * Additional Minting Parameters: Implement extra minting options. + * Burn Mechanisms: Define and implement token burn mechanisms to increase scarcity or reward holders. + * Pump Fun Platform: Build a platform to showcase and hype newly launched tokens, creating an engaging environment for degens and creators. + + + + 2. RUNES & MEME Giveaway Engine: A Tool for Token Airdrops + + Learn more about this project on [RUNES & MEME Giveaway Engine: A Tool for Token Airdrops Blog](https://docs.google.com/document/d/1rLXpTlrRycwGXb5CmJpR35jVHuH6FHJASy6HgVwjmXw/edit#heading=h.wnuc8ula73zx). [Add link to Repo] + **Contribution Options:** + * Set Up a Token Airdrop: Implement airdrops of ERC-20 tokens or RUNES. + * Staking-Based Eligibility: Add rules to reward users who have staked tokens in another protocol, encouraging broader ecosystem participation. + * On-Chain Activity: Create rules to distribute tokens based on on-chain actions like interacting with a contract or voting on a proposal. + * Holdings-Based Eligibility: Reward users based on the number of tokens they hold, incentivizing loyalty and long-term engagement. + * RNS Domain Criteria: Airdrop tokens to users who own specific RNS domains, adding a unique layer to community interaction. + + + + 3. Voting Scoreboard + + Learn more about this project on Voting Score Board Blog. [Add link to Repo] + **Contribution Options:** + * ERC-20 Token Voting: Set up ERC-20 tokens for voting, allowing users to vote on proposals or choices within a project. + * Leaderboard Display: Track voter participation making it easy to highlight the most engaged community members. + * On-Chain Identity Integration: Incorporate RNS domains or other on-chain identities for personalized leaderboards. + * Graphical Representations: Add charts or graphs to visualize leaders' positions over time. + * Positional Changes: Display how participants' rankings shift daily or weekly, providing transparency in voting dynamics. + * Countdown Timer: Include a countdown feature to indicate when the voting period ends, creating a sense of urgency for participants. + + + + 4. CLI (Developer Tooling) + + Learn more about this project on [CLI Tooling Blog](https://docs.google.com/document/d/1k8Qq10LnZtOckTBzE1QNSmUCYlFQBQcdlVWpOBy7H_Q/edit). [Add link to Repo] + **Contribution Options:** + * Create Wallets: Quickly set up new wallets and manage new addresses. + * Check Balances: Implement features to easily check balances for any address on Rootstock. + * Send Transactions: Simplify sending transactions with built-in commands. + * Deploy Contracts: Deploy smart contracts directly through the CLI. + + + + +#### 👉Criteria: + +For a comprehensive overview of the evaluation and reward system for code contributions, including detailed criteria for complexity, project impact, tests, and documentation, please refer to [Criteria for Developer Contributor Program](https://docs.google.com/document/d/1vWYWdWxSXUcTxNS_OlRikfEwmPSXgw3iDsQ-UAqheMw/edit). These criteria outline how contributions, ranging from simple fixes to advanced features or external integrations, will be assessed and rewarded, ensuring a balanced and fair approach to valuing developer participation and impact. This document covers everything from optimizing performance to integrating external APIs, with rewards adjusted based on the value and complexity of each contribution. + +#### 👉Rewards: +1. Option A → 735 - 1470 RIF +2. Option B & C → 1475 - 3675 RIF +3. Option D, E & F → 3675 - 12265 RIF + +### Educational Content 📝 + +**What you can contribute** +You can submit your drafts for blog posts, tutorials, guides, and videos on the following Rootstock themes: + + + + 1. Smart Contract Development Tutorials + + Writing, testing and deploying smart contracts on the Rootstock network. + * **Contribution Options:** + * Step-by-step guides on creating various types of smart contracts (e.g., tokens, DeFi, wallets, swaps, RWAs, NFTs, Runes, Ordinals, indexing, interoperability). + * Explaining Rootstock's unique features and how they can be utilized in smart contract development. + * Debugging and troubleshooting common issues in smart contract development. + + + + 2. Integration with Rootstock and Ecosystem Solutions + + Demonstrating how to use and integrate tools with Rootstock compatible tools and libraries. + * **Contribution Options:** + * Explaining the concept of a sidechain and how Rootstock utilizes it. + * Step-by-step guides on integrating wallets, SDKs, or APIs with Rootstock applications. + * Step-by-step guides on using ecosystem dApps - refer to the “Building DeFi on Bitcoin” series on the Rootstock blog. + + + + 3. Use Case Specific Guides – Case Studies and Real-World Examples + + Sharing real-world examples of Rootstock applications and use cases. + * **Contribution Options:** + * Building cross-platform or no-code dApps (e.g., mobile app development using Flutter, etc). + * Showcasing real-world applications on Rootstock. + * Building cross-chain applications, data indexing, etc., using partner tools and integrations. + * Porting dApps to Rootstock from other ecosystems + + + + 4. Tools and Libraries + + Introducing and explaining various tools and libraries that can be used for Rootstock development. + * **Contribution Options:** + * Tutorials on using popular development environments (e.g., Remix, Hardhat, Slither, Viem). + * Explaining the use of testing frameworks and libraries for smart contract testing. + * Demonstrating how to use debugging tools to identify and fix issues in Rootstock applications. + + + + 5. Advanced Topics and Best Practices + + Expanding into more complex aspects of Rootstock development and sharing best practices. + * **Contribution Options:** + * Exploring complex concepts and how they enhance scalability on Rootstock. + * Discussing security considerations in smart contract development and best practices to avoid vulnerabilities. + * Exploring advanced topics like decentralized finance (DeFi), Runes, Ordinals, BITVMX, and their potential applications on Rootstock. + + + + +#### 👉Criteria: + +1. Educational content should be targeted towards developers looking to build on Rootstock or understand its integration with Bitcoin. +2. Blogs, tutorials (written or video), and developer guides should be original, accurate, and provide actionable insights. +3. Content must help other developers navigate and work with Rootstock, deploy smart contracts, use compatible tools, SDKs and libraries, and or integrate protocols on Rootstock. + +> For a comprehensive overview of the evaluation and reward system for content contributions, including detailed criteria for depth, completeness, technical accuracy, educational value, and innovation, please refer to the [Evaluation Criteria for Content Contributions](https://docs.google.com/document/d/1vA3QK8ZNv5Fgegb0Jv2f03IVIREePDi4lrFE1vsfK7c/edit). These criteria outline how contributions, ranging from short introductory posts to in-depth tutorials and advanced case studies, will be assessed and rewarded, ensuring a balanced and fair approach to valuing content quality and impact. This document covers everything from word count appropriateness and inclusion of code examples to technical correctness and relevance to the Rootstock ecosystem, with rewards adjusted based on the value and complexity of each contribution. + +#### 👉Guidelines: +* Follow the [Rootstock Style Guide](https://github.com/rsksmart/devportal/blob/main/STYLE-GUIDE.md) +* See [Contributing to Rootstock Documentation](https://github.com/rsksmart/devportal/blob/main/CONTRIBUTING_DOCS.md) and [Contributor Guidelines](https://github.com/rsksmart/devportal/blob/main/CONTRIBUTING.md) + +#### 👉Rewards: +1. Blog Post: 735 - 1470 RIF +2. Tutorials (written): 1475 - 3675 RIF +3. Tutorial Videos: 2450 - 6130 RIF + +## 📤 Developer Submission Process +1. Submitting your contributions is easy! Just follow these steps: +2. Complete Your Work: Whether it’s code or educational content, make sure it’s polished and meets the contribution criteria. + * Submit Through Google Form: Use this form link to submit your contribution. You’ll be asked to provide: + * Your name or pseudonym. + * Email address + * Your wallet address + * The type of contribution (code, content, etc.). + * A brief description of your work. + * A link to your submission (e.g., GitHub for code, file upload for blogs/tutorials). + * Workshop proposals should include an outline of the content and objectives. +3. Review: Your submission will be reviewed by Rootstock experts. You may be asked to make revisions or provide more information. +4. Earn RIF Rewards: Once approved, your contribution will be rewarded with RIF based on the impact and complexity of your work. + +This program is your chance to make a meaningful impact on Rootstock while earning RIF. Ready to contribute? Submit your work and be a part of the Rootstock developer community! 🌍 + + + From de7894c64e8a318e11667e3fda87e81406aa2b65 Mon Sep 17 00:00:00 2001 From: alexcss Date: Thu, 24 Oct 2024 15:31:20 +0300 Subject: [PATCH 03/98] Shields component init --- package.json | 1 + src/components/ShieldsBadge/index.js | 20 ++++++++++++ src/pages/components.md | 8 ++--- src/theme/MDXComponents.js | 3 +- yarn.lock | 48 +++++++++++++++++++++++++++- 5 files changed, 74 insertions(+), 6 deletions(-) create mode 100644 src/components/ShieldsBadge/index.js diff --git a/package.json b/package.json index 46716788..e71a3d4b 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@mdx-js/react": "^3.0.0", "@mendable/search": "^0.0.206", "@splidejs/react-splide": "^0.7.12", + "badge-maker": "^4.1.0", "bootstrap": "5.3.3", "clsx": "^2.0.0", "docusaurus-plugin-sass": "^0.2.5", diff --git a/src/components/ShieldsBadge/index.js b/src/components/ShieldsBadge/index.js new file mode 100644 index 00000000..3f057b4c --- /dev/null +++ b/src/components/ShieldsBadge/index.js @@ -0,0 +1,20 @@ +import React from "react"; +import Link from '/src/components/Link'; +import clsx from "clsx"; +import { makeBadge, ValidationError } from 'badge-maker' + +export default function ShieldsBadge ({variant, href, className, size, target, title, icon, stretched, children, ...props}) { + + const format = { + label: 'build', + message: 'passed', + color: 'brightgreen', + } + + const svg = makeBadge(format) + console.log(svg) // + {svg} + +} diff --git a/src/pages/components.md b/src/pages/components.md index 98df11ba..b4db3b9b 100644 --- a/src/pages/components.md +++ b/src/pages/components.md @@ -4,7 +4,7 @@ title: Components # Components -## Heading +## Heading Use this to organize your content and create a hierarchy for scannability. Use `Heading one` for the main title, `Heading two` for subheadings, and so on. - **Code** @@ -27,7 +27,7 @@ Use this to organize your content and create a hierarchy for scannability. Use ` ###### Heading level 6 ## Lists -Use this to present items in a specific sequence (ordered list) or without order (unordered list). +Use this to present items in a specific sequence (ordered list) or without order (unordered list). #### Unordered list @@ -156,7 +156,7 @@ Use this to demonstrate functionalities, complex explanations, or walkthroughs.