Skip to content

Commit

Permalink
Merge pull request #667 from onflow/ianthpun/doc-updates-2
Browse files Browse the repository at this point in the history
collidate docs for evm on flow
  • Loading branch information
Aliserag authored Mar 18, 2024
2 parents ffdfdb5 + f25141d commit 4119c54
Show file tree
Hide file tree
Showing 6 changed files with 91 additions and 237 deletions.
55 changes: 18 additions & 37 deletions docs/build/differences-vs-evm/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ If you are a Solidity developer, it's recommended to read Cadence's [Guide for S

- [The Cadence tutorial](https://cadence-lang.org/docs/tutorial/first-steps)
- ERC-20 equivalent on Flow is the Flow Fungible Token Standard
- [Repository](https://github.com/onflow/flow-ft)
- [Tutorial](https://cadence-lang.org/docs/tutorial/fungible-tokens)
- [Repository](https://github.com/onflow/flow-ft)
- [Tutorial](https://cadence-lang.org/docs/tutorial/fungible-tokens)
- ERC-721 equivalent on Flow is the Flow Non-Fungible Token Standard
- [Repository](https://github.com/onflow/flow-nft)
- [Tutorial](https://cadence-lang.org/docs/tutorial/non-fungible-tokens-1)
- [Repository](https://github.com/onflow/flow-nft)
- [Tutorial](https://cadence-lang.org/docs/tutorial/non-fungible-tokens-1)
- Asset marketplaces with Cadence
- [Tutorial](https://cadence-lang.org/docs/tutorial/marketplace-setup)
- [NFT Storefront](https://github.com/onflow/nft-storefront/) is an example marketplace standard
- [Tutorial](https://cadence-lang.org/docs/tutorial/marketplace-setup)
- [NFT Storefront](https://github.com/onflow/nft-storefront/) is an example marketplace standard

### Transactions and Scripts

Expand Down Expand Up @@ -142,45 +142,26 @@ Check out [Transactions](../basics/transactions.md) and [Scripts](../basics/scri

Developers need a blockchain node to send transactions and fetch state. Flow is based on a multi-node architecture that separates roles like consensus and computation. You can learn more about the Flow architecture [here](https://flow.com/primer#primer-how-flow-works).

Access Nodes are the node type that are most useful for developers, as they provide access to the Flow network via an API. Flow provides public access nodes for multiple networks. They provide two flavours of APIs:

- [HTTP API](https://developers.flow.com/http-api)
- Mainnet: `https://rest-mainnet.onflow.org`
- Testnet: `https://rest-testnet.onflow.org`
- Previewnet: `https://rest-previewnet.onflow.org`
- gRPC
- Mainnet: `access.mainnet.nodes.onflow.org:9000`
- Testnet: `access.devnet.nodes.onflow.org:9000`
- Previewnet: `access.previewnet.nodes.onflow.org:9000`
- [Specification](../../networks/node-ops/access-onchain-data/access-nodes/accessing-data/access-api.md)

### Running Your Own Node

If you’re getting started you don’t need to run your own node and you can use the above public nodes. The public access nodes are rate-limited, so as your product matures you might want to run your own node. There are multiple options available:

- Start with a [Light (Observer) Node](../../networks/node-ops/access-onchain-data/light-nodes/observer-node.md).
- You can also use a third-party provider like [Quicknode](https://www.quicknode.com/docs/flow).

Check out [Running a Node](../../networks/node-ops/access-onchain-data/light-nodes/observer-node.md) for more information.
Access Nodes are the node type that are most useful for developers, as they provide access to the Flow network [via an API](../../networks/flow-networks/index.md).

## SDKs and Tools

If you’re already familiar with blockchain development, here's a comparison between popular software packages and Flow's tooling:

- [hardhat](https://hardhat.org/) / [Truffle](https://trufflesuite.com/) / [Foundry](https://github.com/foundry-rs/foundry)
- [Flow CLI](https://github.com/onflow/flow-cli/) provides local development tools and the [Flow Emulator](https://github.com/onflow/flow-emulator)
- [Flow CLI](https://github.com/onflow/flow-cli/) provides local development tools and the [Flow Emulator](https://github.com/onflow/flow-emulator)
- [OpenZeppelin](https://www.openzeppelin.com/)
- [Emerald OZ](https://oz.ecdao.org/overview)
- [Emerald OZ](https://oz.ecdao.org/overview)
- [go-ethereum](https://geth.ethereum.org/)
- [Flow Go SDK](https://github.com/onflow/flow-go-sdk/)
- [FCL](https://github.com/onflow/fcl-js/) also provides Backend API for Flow in JS
- [Flow Go SDK](https://github.com/onflow/flow-go-sdk/)
- [FCL](https://github.com/onflow/fcl-js/) also provides Backend API for Flow in JS
- [web3.js](https://github.com/web3/web3.js)
- [FCL](https://github.com/onflow/fcl-js/)
- [flow-cadut](https://github.com/onflow/flow-cadut) provides more utilities for using Flow on Web
- [FCL](https://github.com/onflow/fcl-js/)
- [flow-cadut](https://github.com/onflow/flow-cadut) provides more utilities for using Flow on Web
- [Remix](https://remix.ethereum.org/)
- [Flow Playground](https://play.flow.com/) provides basic experimentation on the web
- [Cadence VSCode Extension](https://marketplace.visualstudio.com/items?itemName=onflow.cadence) is strongly suggested to install for local development
- [Flow Playground](https://play.flow.com/) provides basic experimentation on the web
- [Cadence VSCode Extension](https://marketplace.visualstudio.com/items?itemName=onflow.cadence) is strongly suggested to install for local development
- [Testing Smart Contracts](https://ethereum.org/en/developers/docs/smart-contracts/testing/)
- [Cadence testing framework](https://cadence-lang.org/docs/testing-framework) enables native tests in Cadence.
- [overflow](https://github.com/bjartek/overflow) for testing in Go.
- [js-testing](https://github.com/onflow/flow-js-testing) for testing in JS.
- [Cadence testing framework](https://cadence-lang.org/docs/testing-framework) enables native tests in Cadence.
- [overflow](https://github.com/bjartek/overflow) for testing in Go.
- [js-testing](https://github.com/onflow/flow-js-testing) for testing in JS.
1 change: 1 addition & 0 deletions docs/networks/flow-networks/accessing-mainnet.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: Flow Mainnet
sidebar_label: Mainnet
sidebar_position: 2
description: Guide to mainnet access
---
Expand Down
26 changes: 14 additions & 12 deletions docs/networks/flow-networks/accessing-previewnet.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
---
title: Flow Crescendo Previewnet
title: Flow Previewnet
sidebar_label: Previewnet
sidebar_position: 4
description: Guide to Crescendo Previewnet access
description: Guide to Previewnet access
---

## About Flow Crescendo Previewnet
## About Flow Previewnet

Flow Crescendo Previewnet is Flow's official testing and development network. It is intended to provide a staging and testing environment for dApp developers.
Flow Previewnet is Flow's official testing and development network. It is intended to provide a staging and testing environment for dApp developers.
It aims to balance similarity with Mainnet with being a productive development environment, resulting in the following key differences:
- Crescendo Previewnet has significantly fewer validator nodes, resulting in a faster block rate compared to Mainnet
- Crescendo Previewnet is configured with shorter epochs (about 12 hours, compared to 7 days on Mainnet)

## Accessing Flow Crescendo Previewnet
- Previewnet has significantly fewer validator nodes, resulting in a faster block rate compared to Mainnet
- Previewnet is configured with shorter epochs (about 12 hours, compared to 7 days on Mainnet)

Flow Crescendo Previewnet is available for access at this URL:
## Accessing Flow Previewnet

Flow Previewnet is available for access at this URL:

```
access.previewnet.nodes.onflow.org:9000
Expand All @@ -31,14 +33,14 @@ func main() {
}
```

### Generating Crescendo Key Pair
### Generating Key Pair

You can generate a new key pair with the [Flow CLI](https://github.com/onflow/flow-cli) as follows:

```sh
> flow keys generate

🙏 If you want to create an account on Crescendo Previewnet with the generated keys use this link:
🙏 If you want to create an account on Previewnet with the generated keys use this link:
https://previewnet-faucet.onflow.org/?key= cc1c3d72...


Expand All @@ -51,8 +53,8 @@ Public Key cc1c3d72...
## Account Creation and Token Funding Requests
Accounts and tokens for testing can be obtained through the [previewnet faucet](https://previewnet-faucet.onflow.org/). If you generated the keypair through the CLI, you can click on the URL provided to create an account and request crescendo FLOW tokens.
Accounts and tokens for testing can be obtained through the [previewnet faucet](https://previewnet-faucet.onflow.org/). If you generated the keypair through the CLI, you can click on the URL provided to create an account and request previewnet FLOW tokens.
## Important Smart Contract Addresses
You can review [all available core contracts](../../build/core-contracts/index.md) deployed to the Crescendo to identify which ones you want to import.
You can review [all available core contracts](../../build/core-contracts/index.md) deployed to the Previewnet to identify which ones you want to import.
5 changes: 4 additions & 1 deletion docs/networks/flow-networks/accessing-testnet.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
---
title: Flow Testnet
sidebar_label: Testnet
sidebar_position: 3
description: Guide to Testnet access
---

## About Flow Testnet
Flow Testnet is Flow's official testing and development network. It is intended to provide a staging and testing environment for dApp developers.

Flow Testnet is Flow's official testing and development network. It is intended to provide a staging and testing environment for dApp developers.
It aims to balance similarity with Mainnet with being a productive development environment, resulting in the following key differences:

- Testnet has significantly fewer validator nodes, resulting in a faster block rate compared to Mainnet
- Testnet is configured with shorter epochs (about 12 hours, compared to 7 days on Mainnet)
- Testnet receives software upgrades up to 2 weeks before Mainnet
Expand Down
19 changes: 14 additions & 5 deletions docs/networks/flow-networks/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,33 @@ title: Flow Networks
sidebar_position: 1
---

## Flow Networks
## About Flow Networks

Other than the Flow mainnet network, Flow testnet can be used to test applications and contracts before deployment to mainnet.
In addition to Mainnet, developers have access to the Testnet environment, which serves as an essential testing ground for applications and smart contracts prior to their deployment on Mainnet. This ensures that any potential issues can be identified and resolved in a controlled setting, mitigating risks associated with live deployment.

During a round of network upgrade, Flow testnet is updated first. Hence, testnet can be used to test against the latest node software, Cadence and core contract changes which will eventually be available to mainnet.
Furthermore, during network upgrades, Testnet receives updates ahead of Mainnet. This preemptive update process allows developers to comprehensively test their apps against the latest versions of the nodes, enhancements to the Cadence programming language, and core contract upgrades. This strategy guarantees that when these updates are eventually applied to Mainnet, applications and smart contracts will operate seamlessly, enhancing overall network stability and user experience.

### How To Access These Networks?

- [Flow Testnet](./accessing-testnet.md)
- [Flow Mainnet](./accessing-mainnet.md)
- [Flow Crescendo Previewnet](./accessing-previewnet.md)
- [Flow Previewnet](./accessing-previewnet.md)

### Network
Get Flow blockchain data from Access Nodes, both REST and gRPC endpoints are available. Get the current status of mainnet and testnet networks.

There are two primary ways to access on-chain data within the Flow network; Access Nodes and Light nodes. Access Nodes are the node type that are most useful for developers, as they provide access to the Flow network via the following API endpoints:

- [Flow Access API](../node-ops/access-onchain-data/access-nodes/accessing-data/access-api.md)
- [Mainnet](./accessing-mainnet.md): `access.mainnet.nodes.onflow.org:9000`
- [Testnet](./accessing-testnet.md): `access.devnet.nodes.onflow.org:9000`
- [Previewnet](./accessing-previewnet.md): `access.previewnet.nodes.onflow.org:9000`
- [Status Page](https://status.onflow.org/) - Network status page

### Running Your Own Node

If you’re getting started you don’t need to run your own node and you can use the above public nodes. The public access nodes are rate-limited, so as your product matures you might want to run your own node. There are multiple options available:

- Start with a [Light (Observer) Node](../node-ops/access-onchain-data/light-nodes/observer-node.md).
- You can also use a third-party provider like [Quicknode](https://www.quicknode.com/docs/flow).

Check out [Running a Node](../node-ops/access-onchain-data/light-nodes/observer-node.md) for more information.
Loading

0 comments on commit 4119c54

Please sign in to comment.