Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

186 tools #193

Merged
merged 24 commits into from
Aug 16, 2023
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ docs/concepts/token-standards/flow-nft

# Remove after cadence is updated to a stable version
# https://github.com/onflow/docs/issues/105
versioned_docs/version-stable/community-resources
versioned_docs/version-stable/concepts
versioned_docs/version-stable/references
versioned_docs/version-stable/tooling
versioned_docs/version-stable/tutorials
# versioned_docs/version-stable/community-resources
# versioned_docs/version-stable/concepts
# versioned_docs/version-stable/references
# versioned_docs/version-stable/tooling
# versioned_docs/version-stable/tutorials
2 changes: 1 addition & 1 deletion docs/cadence/language/imports.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ or it can be followed by the names of the declarations that should be imported,
followed by the `from` keyword, and then followed by the location.

If importing a local file, the location is a string literal, and the path to the file.
Deployment of code with file imports requires the usage for the [Flow CLI](../../tooling/flow-cli/).
Deployment of code with file imports requires the usage for the [Flow CLI](../../tools/toolchains/flow-cli/).

If importing an external type in a different account,
the location is an address literal, and the address
Expand Down
8 changes: 4 additions & 4 deletions docs/cadence/testing-framework.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The Cadence testing framework provides a convenient way to write tests for Caden
This functionality is provided by the built-in `Test` contract.

<Callout type="info">
The testing framework can only be used off-chain, e.g. by using the [Flow CLI](../tooling/flow-cli).
The testing framework can only be used off-chain, e.g. by using the [Flow CLI](../tools/toolchains/flow-cli).
</Callout>

Tests must be written in the form of a Cadence script.
Expand Down Expand Up @@ -269,7 +269,7 @@ access(all) struct interface BlockchainBackend {
### Creating a blockchain

A new blockchain instance can be created using the `newEmulatorBlockchain` method.
It returns a `Blockchain` which is backed by a new [Flow Emulator](../tooling/emulator) instance.
It returns a `Blockchain` which is backed by a new [Flow Emulator](../tools/toolchains/emulator) instance.

```cadence
let blockchain = Test.newEmulatorBlockchain()
Expand Down Expand Up @@ -423,7 +423,7 @@ An `Error` is returned if the contract deployment fails. Otherwise, a `nil` is r
### Configuring import addresses

A common pattern in Cadence projects is to define the imports as file locations and specify the addresses
corresponding to each network in the [Flow CLI configuration file](../tooling/flow-cli/flow.json/configuration.md#contracts).
corresponding to each network in the [Flow CLI configuration file](../tools/toolchains/flow-cli/flow.json/configuration.md#contracts).
When writing tests for such a project, it may also require to specify the addresses to be used during the tests as well.
However, during tests, since accounts are created dynamically and the addresses are also generated dynamically,
specifying the addresses statically in a configuration file is not an option.
Expand All @@ -448,7 +448,7 @@ access(all) struct Configuration {

<Callout type="info">
The `Blockchain.useConfiguration` is a run-time alternative for
[statically defining contract addresses in the flow.json config file](../tooling/flow-cli/flow.json/configuration.md#advanced-format).
[statically defining contract addresses in the flow.json config file](../tools/toolchains/flow-cli/flow.json/configuration.md#advanced-format).
</Callout>

The configurations can be specified during the test setup as a best-practice.
Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/hybrid-custody/get-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ contributing? [Check out the source!](https://github.com/onflow/hybrid-custody).

In either case, you'll want to do the following to get started implementing Hybrid Custody in your application:

1. [Install Flow CLI](https://developers.flow.com/tooling/flow-cli/install)
1. [Install Flow CLI](https://developers.flow.com/tools/toolchains/flow-cli/install)
1. Create a project from the [Hybrid Custody scaffold](https://github.com/onflow/hybrid-custody-scaffold):

```sh
Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/mobile/monster-maker.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ https://github.com/Outblock/fcl-android

One of the easiest ways to connect to a wallet via a mobile native dApp is through Flow’s new support for Wallet Connect 2.0. This is the pattern that Monster Maker uses to connect to the Dapper Self Custody wallet and Lilico. For more information on FCL Wallet Connect 2.0, check out this page:

[FCL Wallet Connect](../../tooling/fcl-js/wallet-connect.mdx)
[FCL Wallet Connect](../../tools/clients/fcl-js/wallet-connect.mdx)


**How to Build a Native iOS Dapp**
Expand Down
20 changes: 10 additions & 10 deletions docs/concepts/mobile/react-native-quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,11 @@ config({
- The `accessNode.api` key specifies the address of a Flow access node. Flow provides these, but in the future access to Flow may be provided by other 3rd parties, through their own access nodes.
- `discovery.wallet` and `discovery.authn.endpoint` are addresses that point to a service that lists FCL compatible wallets. Flow's FCL Discovery service is a service that FCL wallet providers can be added to, and be made 'discoverable' to any application that uses the `discovery.wallet` and `discovery.authn.endpoint`.

> Learn more about [configuring Discovery](../../tooling/fcl-js/discovery.mdx) or [setting configuration values](../../tooling/fcl-js/api.md#setting-configuration-values).
> Learn more about [configuring Discovery](../../tools/clients/fcl-js/discovery.mdx) or [setting configuration values](../../tools/clients/fcl-js/api.md#setting-configuration-values).

> If you are running a Wallet Discovery locally and want to use it in the React Native app, change `https://fcl-discovery.onflow.org/` to `http://<LOCAL_IP_ADDRESS>:<PORT>/`
> For Example:
> using local [Wallet Discovery](../../tooling/fcl-js/discovery.mdx) and local [Dev Wallet](../../tooling/fcl-dev-wallet/overview.md):
> using local [Wallet Discovery](../../tools/clients/fcl-js/discovery.mdx) and local [Dev Wallet](../../tools/toolchains/fcl-dev-wallet/index.md):
>
> ```javascript ./flow/config.js
> import { config } from "@onflow/fcl";
Expand Down Expand Up @@ -121,7 +121,7 @@ Now we're ready to start talking to Flow!

To authenticate a user, you'll need to render a `ServiceDiscovery` component provided by `fcl-react-native`. Alternatively you can build your own component using `useServiceDiscovery`.

Unauthenticate is as simple as calling `fcl.unauthenticate()`. Once authenticated, FCL sets an object called `fcl.currentUser` which exposes methods for watching changes in user data, signing transactions, and more. For more information on the `currentUser`, read more [here](../../tooling/fcl-js/api.md#current-user).
Unauthenticate is as simple as calling `fcl.unauthenticate()`. Once authenticated, FCL sets an object called `fcl.currentUser` which exposes methods for watching changes in user data, signing transactions, and more. For more information on the `currentUser`, read more [here](../../tools/clients/fcl-js/api.md#current-user).

Let's add in a few components and buttons buttons for sign up/login and also subscribe to changes on the `currentUser`. When the user is updated (which it will be after authentication), we'll set the user state in our component to reflect this. To demonstrate user authenticated sessions, we'll conditionally render a component based on if the user is or is not logged in.

Expand Down Expand Up @@ -293,7 +293,7 @@ await fcl.query({

Inside the query you'll see we set two things: `cadence` and `args`. Cadence is Flow's smart contract language we mentioned. For this tutorial, when you look at it you just need to notice that it's importing the `Profile` contract from the account we named `0xProfile` earlier in our config file, then also taking an account address, and reading it. That's it until you're ready to [learn more Cadence](../../cadence/tutorial/01-first-steps.mdx).

In the `args` section, we are simply passing it our user's account address from the user we set in state after authentication and giving it a type of `Address`. For more possible types, [see this reference](../../tooling/fcl-js/api.md#ftype).
In the `args` section, we are simply passing it our user's account address from the user we set in state after authentication and giving it a type of `Address`. For more possible types, [see this reference](../../tools/clients/fcl-js/api.md#ftype).

Go ahead and click the "Send Query" button. You should see "No Profile." That's because we haven't initialized the account yet.

Expand Down Expand Up @@ -604,7 +604,7 @@ const styles = StyleSheet.create({

```

Now if you click the "Execute Transaction" button you'll see the statuses update next to "Transaction Status." When you see "4" that means it's sealed! Status code meanings [can be found here](../../tooling/fcl-js/api.md#transaction-statuses).
Now if you click the "Execute Transaction" button you'll see the statuses update next to "Transaction Status." When you see "4" that means it's sealed! Status code meanings [can be found here](../../tools/clients/fcl-js/api.md#transaction-statuses).
If you query the account profile again, "Profile Name:" should now display "Flow Developer".

That's it! You now have a shippable Flow dapp that can auth, query, init accounts, and mutate the chain. This is just the beginning. There is so much more to know. We have a lot more resources to help you build. To dive deeper, here are a few good places for taking the next steps:
Expand All @@ -619,11 +619,11 @@ That's it! You now have a shippable Flow dapp that can auth, query, init account
- [Advanced Example: Kitty Items](https://github.com/onflow/kitty-items)

**More FCL**
- [FCL API Quick Reference](../../tooling/fcl-js/api)
- [More on Scripts](../../tooling/fcl-js/scripts.mdx)
- [More on Transactions](../../tooling/fcl-js/transactions.mdx)
- [User Signatures](../../tooling/fcl-js/user-signatures.mdx)
- [Proving Account Ownership](../../tooling/fcl-js/proving-authentication.mdx)
- [FCL API Quick Reference](../../tools/clients/fcl-js/api)
- [More on Scripts](../../tools/clients/fcl-js/scripts.mdx)
- [More on Transactions](../../tools/clients/fcl-js/transactions.mdx)
- [User Signatures](../../tools/clients/fcl-js/user-signatures.mdx)
- [Proving Account Ownership](../../tools/clients/fcl-js/proving-authentication.mdx)

**Other**
- [Flow Developer Onboarding Guide](../../tutorials/intro.md)
2 changes: 1 addition & 1 deletion docs/concepts/nodes/faq/backers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ Details: [concepts/accounts-and-keys](../../start-here/accounts-and-keys.md)

## How do I create a Flow account if I do not have a service account?

Instructions to generate an address are here: [flow-go-sdk/creating-accounts](../../../tooling/flow-go-sdk/index.mdx#create-accounts). You don't need a service account.
Instructions to generate an address are here: [flow-go-sdk/creating-accounts](../../../tools/clients/flow-go-sdk/index.mdx#create-accounts). You don't need a service account.
2 changes: 1 addition & 1 deletion docs/concepts/nodes/faq/developers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ Flow doesn't yet provide functionality to inspect all of the resources on an acc

## How do I create a Flow account if I do not have a service account?

Instructions to generate an address are here: [flow-go-sdk#create-accounts](../../../tooling/flow-go-sdk/index.mdx#create-accounts). You don't need a service account.
Instructions to generate an address are here: [flow-go-sdk#create-accounts](../../../tools/clients/flow-go-sdk/index.mdx#create-accounts). You don't need a service account.

## Is there a tutorial about how to access flow testnet? From scratch, getting testnet, Flow token etc..?

Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/nodes/faq/operators.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ Details: [concepts/accounts-and-keys](../../start-here/accounts-and-keys.md)

## How do I create a Flow account if I do not have a service account?

Instructions to generate an address are here: [flow-go-sdk#create-accounts](../../../tooling/flow-go-sdk/index.mdx#create-accounts). You don't need a service account.
Instructions to generate an address are here: [flow-go-sdk#create-accounts](../../../tools/clients/flow-go-sdk/index.mdx#create-accounts). You don't need a service account.

## Can you query events between a block range?

Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/nodes/node-operation/node-bootstrap.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ Once the node has bootstrapped, these flags may be removed.
### Manually Provisioned Root Snapshot

You can also provision the root snapshot file manually, then start the node without configuring Dynamic Startup.
A snapshot can be obtained from any Access Node using [Flow CLI](../../../tooling/flow-cli/).
A snapshot can be obtained from any Access Node using [Flow CLI](../../../tools/toolchains/flow-cli/).
```shell RetrieveRootSnapshot
flow snapshot save /path/to/root/snapshot --network mainnet
```
Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/nodes/node-operation/observer-node.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Primary key fingerprint: 7D23 8D1A E6D3 2A71 8ECD 8611 CB52 64F7 FD4C DD27
Subkey fingerprint: 40CD 9571 7AC4 63E6 1EE3 B285 B718 CA31 0EDB 542F
```

Alternately, if you don't care about the blocks before the current block, you can request the current root-snapshot file via the [Flow CLI](../../../tooling/flow-cli).
Alternately, if you don't care about the blocks before the current block, you can request the current root-snapshot file via the [Flow CLI](../../../tools/toolchains/flow-cli).

For mainnet
```shell
Expand Down
6 changes: 3 additions & 3 deletions docs/concepts/staking/08-staking-rewards.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Every week, the Flow governance committee executes the reward payout transaction
When the transaction executes, it generates events for the rewards paid to each node and delegator.
To check the staking and delegation rewards, that transaction should be queried.

Example using [Flow cli](../../tooling/flow-cli/index.md)
Example using [Flow cli](../../tools/toolchains/flow-cli/index.md)
```
$ flow transactions get 84eca4ff612ef70047d60510710cca872c8a17c1bd9f63686e74852b6382cc84 -n mainnet

Expand Down Expand Up @@ -78,7 +78,7 @@ Events:
<clipped for brevity>
```

Example using [Flow Go SDK](../../tooling/flow-go-sdk/index.mdx)
Example using [Flow Go SDK](../../tools/clients/flow-go-sdk/index.mdx)
```
package main

Expand Down Expand Up @@ -198,7 +198,7 @@ Events Block #51753836:
- amount (UFix64): 17.31047712
```

Example using [Flow Go SDK](../../tooling/flow-go-sdk/index.mdx)
Example using [Flow Go SDK](../../tools/clients/flow-go-sdk/index.mdx)
```
package main

Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/staking/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ You are joining a group of people from all around the world that are a part of a

[Flow Port](https://port.onflow.org/) is a simple browser-based app for the Flow blockchain
that provides functionality for sending, receiving, and staking tokens.
Any wallet that uses the [Flow Client Library](../../tooling/fcl-js/index.md)
Any wallet that uses the [Flow Client Library](../../tools/clients/fcl-js/index.md)
is compatible with Flow Port.

If you created your account using [Flow Port](https://port.onflow.org/),
Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/start-here/variable-transaction-fees.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Execution effort is best determined by running a transaction and reviewing the e

**Using Flow Emulator**

You can [start the emulator using the Flow CLI](../../tooling/emulator/index.md#running-the-emulator-with-the-flow-cli). Run your transaction and take a look at the events emitted:
You can [start the emulator using the Flow CLI](../../tools/toolchains/emulator/index.md#running-the-emulator-with-the-flow-cli). Run your transaction and take a look at the events emitted:

```shell
0|emulator | time="2022-04-06T17:13:22-07:00" level=info msg="⭐ Transaction executed" computationUsed=3 txID=a782c2210c0c1f2a6637b20604d37353346bd5389005e4bff6ec7bcf507fac06
Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/token-standards/flow-nft/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ but without most of the downsides.

If you want to test out these contracts, we recommend either testing them
with the [Flow Playground](https://play.onflow.org)
or with the [Visual Studio Code Extension](../../../tooling/vscode-extension/index.mdx).
or with the [Visual Studio Code Extension](../../../tools/toolchains/vscode-extension/index.mdx).

The steps to follow are:

Expand Down
2 changes: 2 additions & 0 deletions docs/tools/_category_.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
label: Tools
position: 4
52 changes: 52 additions & 0 deletions docs/tools/block-explorers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
sidebar_position: 2
description: |
User-friendly online tools that visually present blockchain data, allowing users to easily navigate transactions, blocks, addresses, and smart contracts while providing real-time insights and transparency.
- Flow Diver
- FLow View
- ContractBrowser
---

# Block Explorers

## Flow Diver

[Flow Diver](https://www.flowdiver.io/) provides tools to explore the blockchain:
- blocks
- transactions
- contracts

it also provides network(mainnet) analytics:
- network activity (transactions number)
- transaction cost (gas fee)
- validators information

# Account Explorer

## Flow View

Flow View provides tools to view accounts information.

- address, balance, storage
- public keys and their weight
- staking info
- tokens, collections, and listings
- deployed smart contracts

### Supported networks:
- mainnet https://www.flowview.app/
- testnet https://testnet.flowview.app/
- emulator (local) https://emulator.flowview.app/

# Contract Explorer

## ContractBrowser

A ContractBrowser is available for [Flow](https://contractbrowser.com/).

ContractBrowser provides tools to view deployed smart contracts and their dependencies and dependents.

- Search, view and verify smart contract source code.
- View detailed smart contract information

A testnet ContractBrowser for [Testnet Flow](https://testnet.contractbrowser.com/) is also available.
10 changes: 10 additions & 0 deletions docs/tools/bridges.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
sidebar_position: 3
description: Mechanisms that connect different blockchain networks, allowing secure and decentralized transfer of assets and data across platforms.
---

# Bridges

## Celler

[Celer cBridge](https://cbridge.celer.network/) is a decentralized and non-custodial asset bridge that supports 150+ tokens across 40+ blockchains and layer-2 rollups. Built on top of the [Celer](https://celer.network/) Inter-chain Message Framework, cBridge has processed ~$13B cross-chain asset transfer volume on 40+ blockchains for more than 350K unique users, and is quickly growing and expanding into more blockchains and layer-2s.
4 changes: 4 additions & 0 deletions docs/tools/clients/_category_.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
position: 8
customProps:
description: Diverse programming tools to facilitate seamless interaction with the Flow blockchain network across multiple languages and platforms.

Loading