Skip to content

Commit

Permalink
Merge pull request #114 from rsksmart/docs/update-devtools-folder-str…
Browse files Browse the repository at this point in the history
…ucture

Docs: Update Dev Tools Folder Structure
  • Loading branch information
owans authored Nov 4, 2024
2 parents a7cd407 + dcc1da7 commit d2b1d35
Show file tree
Hide file tree
Showing 59 changed files with 896 additions and 128 deletions.
File renamed without changes.
10 changes: 0 additions & 10 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/01-concepts/merged-mining/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: "How merge mining Rootstock with Bitcoin works, and its benefits."

[Merged mining](https://rootstock.io/mine-btc-with-rootstock/) is the process that allows Rootstock blockchain to be mined simultaneously with Bitcoin blockchain. This can be done because both chains use the same proof-of-work (PoW) algorithm, double SHA-256.

[Get Started](/node-operators/merged-mining/getting-started/)
<Button href="/node-operators/merged-mining/getting-started/">Get Started</Button>

## How it works

Expand Down
2 changes: 1 addition & 1 deletion docs/01-concepts/rbtc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ RBTC is the token used to [pay for the execution](/concepts/rbtc/gas/) of transa

See [supported wallets](/dev-tools/wallets/).

[Get RBTC](https://rootstock.io/rbtc/#get-rbtc)
<Button href="https://rootstock.io/rbtc/#get-rbtc">Get RBTC</Button>

## RBTC (Smart Bitcoin in Mainnet)

Expand Down
4 changes: 2 additions & 2 deletions docs/01-concepts/rif-suite/rns/specs/resolver.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ Resolvers MUST specify a fallback function that throws.

Resolvers must implement ERC-165 interface detection standard. supportsInterface method must return if the interfaceID queried is simply equal to the signature hash of the function that resolves the desired resource record.

Currently standardized resolver interfaces are specified below.
<!-- Currently standardized resolver interfaces are specified below.
> Check out [definitive resolver](/rif/rns/architecture/definitive-resolver) for implementation details.
> Check out [definitive resolver](/rif/rns/architecture/definitive-resolver) for implementation details. -->


### Contract address
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 Guides](/dev-tools/dev-environments/hardhat/) for guides on how to use Hardhat on Rootstock.

- [Metamask](https://metamask.io/) is a browser extension cryptocurrency wallet or mobile app,
enabling users to interact with the Rootstock blockchain,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,13 @@ description: 'Learn how to interact with Rootstock in your web browser, how to l
tags: [quick-starts, rsk, rootstock, blockchain, browser wallets, developers, beginners]
---

In the [previous section](/developers/blockchain-essentials/overview/), we set up a browser extension that is a crypto wallet, MetaMask. We connected to the Rootstock Testnet, and loaded this up with Rootstock’s cryptocurrency, RBTC, and an Rootstock-based token, RIF.
In the previous section on [blockchain overview](/developers/blockchain-essentials/overview/), we set up a browser extension that is a crypto wallet, MetaMask. We connected to the Rootstock Testnet, and loaded this up with Rootstock’s cryptocurrency, RBTC, and an Rootstock-based token, RIF.

> Note, if you are yet to do the above, we encourage you to go back and complete that step first. See: [Using Rootstock in the browser](/developers/blockchain-essentials/browser/).
:::note[Using Rootstock in the browser]

If you are yet to do the above, we encourage you to go back and complete that step first. See: [Using Rootstock in the browser](/developers/blockchain-essentials/browser/).

:::

## Block Explorer

Expand Down
2 changes: 1 addition & 1 deletion docs/02-developers/04-quickstart/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,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"
/>
Expand Down
2 changes: 1 addition & 1 deletion docs/02-developers/04-quickstart/rootstock-etherspot.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,6 @@ Configures the SDK with the specified bundler provider.

## Resources

- [Rootstock Account Abstraction Starter Kit](https://github.com/wagmi-dev/wagmi-starter-kit.git)
- [Rootstock Account Abstraction Starter Kit](https://github.com/rsksmart/rsk-wagmi-starter-kit/tree/aa-sdk)
- [Using Prime SDK Examples](https://etherspot.fyi/prime-sdk/examples/intro)
- [Etherspot Prime SDK Repo](https://github.com/etherspot/etherspot-prime-sdk/)
5 changes: 0 additions & 5 deletions docs/02-developers/05-smart-contracts/06-eas/_category_.yml

This file was deleted.

22 changes: 9 additions & 13 deletions docs/02-developers/07-rpc-api/02-rootstock/01-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,23 @@ tags: [faucet, Rootstock, testnet, address, wallet, tools]
description: "Get started with the Rootstock RPC Service to interact with Rootstock nodes."
---

## Getting Started

:::info[Note]
The [Rootstock RPC API](https://rpc.rootstock.io/) is available on TESTNET and MAINNET.
:::

Visit the [Rootstock RPC API](https://rpc.rootstock.io/)

<div align="center">
<img width="50%" src="/img/tools/rpc-api/01-rpc-api-landing.png" alt="RPC Service Landing Page"/>
</div>

### Get A FREE Account
:::info[Info]
The [Rootstock RPC API](https://rpc.rootstock.io/) is available on <Shield label="mainnet" title="testnet" tooltip="Supported on Mainnet and Testnet" color="orange" />
:::

## Get A FREE Account

To create an account, click on _Sign up_
Visit the [Rootstock RPC API](https://rpc.rootstock.io/) to create a **free** account, and click on _Sign up_

<div align="center">
<img width="50%" src="/img/tools/rpc-api/02-sign-up.png" alt="RPC Service Sign Up"/>
</div>

### Get An API Key
## Get An API Key

To get an API key:

Expand All @@ -42,7 +38,7 @@ Choose a name to identify your `apikey`, and the Network (either `Testnet` or `M
<img width="50%" src="/img/tools/rpc-api/04-create-api-key.png" alt="Create API key"/>
</div>

### Make First API Call
## Make First API Call

Click on the newly created `apikey` to get the details:

Expand All @@ -56,7 +52,7 @@ You can make your first api call by using one of the provided examples, or simpl
<img width="50%" src="/img/tools/rpc-api/06-connect-api.png" alt="Connect API"/>
</div>

#### Example Request
### Example Request

```shell
curl --location --request POST 'https://rpc.testnet.rootstock.io/<your-apikey>' \
Expand Down
5 changes: 1 addition & 4 deletions docs/02-developers/07-rpc-api/02-rootstock/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,7 @@ In this guide, you will learn:
- How to create an account and [make your first API call](/developers/rpc-api/rootstock/setup/)
- View a list of [JSON-RPC methods](/developers/rpc-api/rootstock/methods/) available on the Rootstock RPC Service.

<div class="btn-container">
<span></span>
<a class="green" href="https://rpc.rootstock.io/">Use the RPC Service</a>
</div>
<Button href="https://rpc.rootstock.io/">Use the Rootstock RPC API</Button>

## Who Is It For?

Expand Down
2 changes: 2 additions & 0 deletions docs/02-developers/07-rpc-api/03-alchemy/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ Before you start this guide, make sure you have the following:
- Ensure you have a development environment set up for interacting with blockchain nodes.
- Basic programming knowledge of ***JavaScript***, ***Python***, or other supported languages to make `API calls`. And familiarity with making ***HTTP*** requests and handling ***JSON*** responses.

<Button href="https://www.alchemy.com/rootstock/">Use the Alchemy RPC Service</Button>

## Who Is It For?
- Developers looking to interact with the Rootstock nodes.

Expand Down
2 changes: 1 addition & 1 deletion docs/02-developers/07-rpc-api/_category_.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ position: 5
link:
type: generated-index
slug: /developers/rpc-api/
description: "RPC API services for interacting with the Rootstock network."
description: "RPC API services for interacting with the Rootstock network."
4 changes: 2 additions & 2 deletions docs/04-resources/04-tutorials/dapp-automation-cucumber.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
25 changes: 25 additions & 0 deletions docs/05-dev-tools/account-abstraction/etherspot.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
sidebar_position: 100
sidebar_label: Etherspot Prime SDK
title: Account Abstraction using Etherspot Prime SDK
description: "Create a seamless user experience for your dApps on Rootstock and EVM-compatible chains."
tags: [etherspot, account abstraction, developer tools, rsk, rootstock, ethereum, dApps, smart contracts]
---

Etherspot is an Account Abstraction infrastructure designed to help developers create a seamless web3 user experience for users interacting with their dApps.

Supported on: <Shield label="mainnet" title="testnet" tooltip="Available on Mainnet and Testnet" color="orange" />

## Features

Etherspot offers the following AA services:

* [Account abstraction Prime SDK](https://etherspot.fyi/prime-sdk/intro) — From social logins, sponsored transactions to transaction batching, using an Etherspot smart wallet can give your dApps a web2-like interface to improve the experience for users.
* [TransactionKit](https://etherspot.io/transactionkit) - A smart account React library for fast and simple web3 development.
* [Skandha Bundler](https://github.com/etherspot/skandha) - A modular, developer-friendly Typescript Bundler for Ethereum EIP-4337 Account Abstraction
* [Arka Paymaster](https://etherspot.fyi/arka/intro) - An open-source Paymaster service for gasless and sponsored transactions.

If you have any questions, do not hesitate to reach out to the team on [Discord](http://discord.gg/rootstock).

## Related Guides
* [Account Abstraction using Etherspot Prime SDK](/developers/quickstart/rootstock-etherspot/)
45 changes: 45 additions & 0 deletions docs/05-dev-tools/account-abstraction/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
sidebar_position: 4
sidebar_label: Account Abstraction
title: Account Abstraction on Rootstock
description: "Create smarter accounts that give users a seamless web3 experience"
tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts]
---

Account abstraction refers to the different ways to create and manage accounts, other than using a Secret Recovery Phrase and a wallet.

It 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.

Some benefits include:
- 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.

The Rootstock network is innovating in the account abstraction space, here are solutions that can be used for building your dApps with account abstraction capabilities on Rootstock.

<br></br>

<CardsGrid>
<CardsGridItem
title="Etherspot Prime SDK"
subtitle="account abstraction"
color="green"
description="Etherspot is an Account Abstraction infrastructure designed to help developers create an unparalleled user experience for their blockchain protocols on Ethereum and EVM-compatible chains."
linkHref="/dev-tools/account-abstraction/etherspot/"
linkTitle="Build with Etherspot"
/>
<!-- <CardsGridItem
title="Gelato"
subtitle="account abstraction, mainnet"
color="green"
description="Smart Contract-Enabled Accounts on Rootstock."
linkHref="https://gelato.network/"
linkTitle="Build with Gelato"
/> -->
</CardsGrid>


54 changes: 54 additions & 0 deletions docs/05-dev-tools/additional-tools/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
sidebar_position: 13
sidebar_label: General Tools
title: General Tools
description: "General tools to build on Rootstock"
tags: [hardhat, quick start, developer tools, rsk, rootstock, ethereum, dApps, smart contracts]
---

## Faucets

* [Rootstock Faucet](https://faucet.rootstock.io/): Get free RBTC testnet tokens for development and testing.
* [RIF Testnet Faucet](https://faucet.rifos.org/): Obtain free RIF testnet tokens to explore the RIF ecosystem.

## Gas Fees
* [Rootstock Gas Station](https://rskgasstation.info/?AspxAutoDetectCookieSupport=1): Estimate gas fees for your transactions on the Rootstock network.

## Exchanges - Getting RBTC

To acquire RBTC or RIF, you can use various methods:

* Exchanges: Purchase RBTC or RIF on cryptocurrency exchanges that support them. See the [RBTC](https://rootstock.io/rbtc/) section to get started. To get RIF, see the [RIF Token](https://rif.technology/rif-token/) section.
* Bridges: Transfer your tokens from other blockchains to the Rootstock network using bridges.

## Code Quality

To ensure the quality and security of your smart contracts, consider using these tools:

* [Sourcify](https://sourcify.dev/): Verify smart contracts on Rootstock, Sourcify enables transparent and human-readable smart contract interactions through automated Solidity contract verification, contract metadata.
* [Slither](https://github.com/crytic/slither): Slither built with Solidity & Vyper static analysis framework written in Python3, enables developers to find vulnerabilities, enhance their code comprehension, and quickly prototype custom analyses.
* [SolidityScan](https://solidityscan.com/): Secure your smart contracts on Rootstock, and get accurate security audit results and detailed reports.

## dApp Testing

Effectively test your dApps with these tools:

* Cucumber: Write clear and concise test scenarios using Gherkin syntax. Get started using the [dApp automation with Cucumber and Playwright](/resources/tutorials/dapp-automation-cucumber)
* Playwright: Automate browser interactions to simulate real-world user behavior.
* Synpress: Specifically designed for dApp testing, seamlessly integrates with MetaMask and other wallets.

## Mining Tools

Interested in mining on the Rootstock network? Consider using these mining pools:

* [BraiinsPool](https://braiins.com/pool)
* [Luxor](https://luxor.tech/mining)
* [F2Pool](https://www.f2pool.com/)
* [ViaBTC](https://www.viabtc.com/)
* [Antpool](https://www.antpool.com/home)

:::info[Info]

If you're looking to set up your node for merged mining. See the [Node Operator](/node-operators/merged-mining/) section for more information.

:::
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 310
sidebar_position: 100
title: Ethereum Attestation Service
sidebar_label: Overview
sidebar_label: Ethereum Attestation Service
description: "Ethereum Attestation Service (EAS) is an open-source infrastructure public good for making attestations onchain or offchain. Learn how to use it on Rootstock."
tags: [rsk, rootstock, guides, EAS, Attestation, Ethereum]
---
Expand All @@ -10,6 +10,8 @@ tags: [rsk, rootstock, guides, EAS, Attestation, Ethereum]

EAS is a foundational layer that empowers anyone to make attestations about anything. By creating a decentralized ledger of verifiable claims, we can revolutionize traditional finance, build decentralized reputation systems, voting mechanisms, governance frameworks, social media platforms, supply chain tracking systems, knowledge graphs, and lots more.

Supported on: <Shield label="mainnet" title="testnet" tooltip="Available on Mainnet and Testnet" color="orange" />

## How EAS is integrated with Rootstock

The EAS essential contracts has been successfully deployed to Rootstock, this includes a robust indexer, and a user-friendly alternative explorer. The following sections will delve into the technical details of these implementations.
Expand Down Expand Up @@ -67,6 +69,6 @@ Find the deployed EAS contracts on Rootstock Mainnet and Tesnet:
- [EAS](https://attest.org/)
- [Core Concepts](https://docs.attest.org/docs/category/core-concepts)
- [How EAS Works](https://docs.attest.org/docs/core--concepts/how-eas-works)
- [Use Cases](https://docs.attest.org/docs/quick--start/use-cases-overview)]
- [Use Cases](https://docs.attest.org/docs/quick--start/use-cases-overview)
- [EAS Docs](https://docs.attest.org/docs/welcome)
- [EAS Github](https://github.com/ethereum-attestation-service)
40 changes: 40 additions & 0 deletions docs/05-dev-tools/attestations/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
sidebar_position: 11
sidebar_label: Attestations
title: Attestations on Rootstock
description: "An attestation is a digital certificate or proof that verifies a specific claim or fact. Learn about how to verify or attest documents, identity, asset ownership in your dApps using attestation tools on Rootstock."
tags: [attestation, eas, developer tools, rsk, rootstock, ethereum, dApps, smart contracts]
---

An attestation is a digital certificate or proof that verifies a specific claim or fact. It's like a digital stamp of approval, confirming something is true or has occurred.

## Real-world Examples

* Passport: A physical document attesting to a person's citizenship and right to travel internationally.
* University Degree: A certificate confirming academic achievement and qualifications.
* Driver's License: A legal document certifying the holder's ability to operate a motor vehicle.

## Web3 Attestations

In the web3 world, attestations are taking on a new dimension. They can be used to verify:

* Digital Identity: Proving one's identity without relying on centralized authorities.
* Asset Ownership: Confirming ownership of digital assets like NFTs or cryptocurrency.
* Credential Verification: Verifying skills, certifications, and work experience.

The Rootstock network is innovating in the attestation space, here are solutions that can be used for attesting documents or verifying identities within your dApps.

<br></br>

<CardsGrid>
<CardsGridItem
title="EAS"
subtitle="attestation"
color="green"
description="Ethereum Attestation Service (EAS) is an open-source infrastructure public good for making attestations onchain or offchain. Learn how to use it on Rootstock."
linkHref="/dev-tools/attestations/eas/"
linkTitle="Get Started"
/>
</CardsGrid>


Loading

0 comments on commit d2b1d35

Please sign in to comment.