Skip to main content

Networks

Before we start writing tests, we need to understand the different types of networks on Arweave blockchain.

🕸️ Mainnet

Mainnet is the final version of a blockchain which is fully functional. It means that the blockchain protocol is fully developed and deployed. Mainnet allows users to send and receive transactions which are recorded on a distributed ledger. Distributed ledger technology (DLT) is a consensus of replicated, shared, and synchronized digital data (in opposition to centralized systems there is no central administrator of the shared data).

info

The gateway that delivers data from the nodes is arweave.net.

You can also explore its GraphQL which is responsibe for querying for transaction or block metadata on Arweave here.

You can find a nice guide for GraphQL here.

HTTP API which can help us explore the network can be found in the docs.

info

Instead of heading to arweave.net you can request and query nodes directly. Nodes are Arweave users with large storage spaces on their hard drives, they connect with the Arweave network and store data for others. You can use exactly the same API as for the gateway. A list of all currently running nodes can be found on arweave.net/peers.

info

🥅 Testnet

Unlike mainnet, testnet means that the network is not running on its full capacity. It is used by developers to test different kind of actions and features before posting them to mainnet.

It is possible to use two kinds of testnets.

  1. ArLocal - is a local server which resembles Arweave mainnet. You need to run it locally on your computer.
info

You can read more about ArLocal in a dedicated repository.

  1. Warp testnet - is a public testnet based on ArLocal. It does not require any instance to be run locally. The blocks are mined every 10s so you don't have to wait for the transaction as long as you would with a mainnet. You can also mine blocks manually, the same way you would do it on ArLocal.
info

Warp public testnet is available here.

We will use ArLocal for our tests and Arweave mainnet for deploying contract and writing interactions.