Introducing the three æternity networks that you can use for testing and development.
Introduction: Three Networks
æternity currently runs three networks. Each network serves a different purpose, and can be placed on a scale of stability versus bleeding edge features.
sdk-testnet and sdk-edgenet
The SDK team currently runs two networks: sdk-testnet and sdk-edgenet. sdk-testnet is the latest stable release, and sdk-edgenet is the next.
At the time of writing, Testnet is at epoch version 0.24 and Edgenet is at version 0.25 of Epoch.
sdk-testnet Audience
The intended audience for this network is people using released versions of our SDKs (GitHub releases or npm/yarn default install).
Most software developers should use sdk-testnet. Our contracts deployment tool, available at contracts.aepps.com, is connected to this network.
sdk-edgenet Audience
The intended audience for this network are people who are developing the SDKs, and developers who need the latest features from the develop branch on GitHub.
uat-testnet
The æternity core team runs another network, uat-testnet. It is used for testing and is not guaranteed to work with the SDKs built by æternity. However, it is the network that has the very latest features. If you are performance testing the network, testing mining, or hacking on æternity yourself, you may find this network useful.
uat-testnet Audience
The intended audience for this network are core developers, miners, and people who want to track the bleeding edge. You may be unable to connect to this network using our SDKs; this is because it is a version later than the ones they support. We do not offer a blockchain explorer or a wallet for this network.
Which Testnet Should You Use?
In most cases, the sdk-testnet is recommended, as our tools are built to run on it. Connecting to this network will allow any user to take advantage of everything our tools offer:
- smart contract deployment;
- acquiring tokens via the faucet;
- the functionality offered by our SDKs;
- a functional wallet;
- a blockchain explorer, and more.
Anyone who is interested in SDK development can connect to the sdk-edgenet.
The uat-testnet is only relevant to core developers, miners, and people who want to track the bleeding edge. Our tools do not support the uat-testnet and the only way to get tokens for it is via mining.
Installation and Our Networks
If you download our SDK from package managers, you will automatically connect to the sdk-testnet. If you clone the SDK repository, you will connect to the sdk-edgenet. Alternatively, if you use your own nodes, you may select whichever version you prefer.
A Guide to Version Numbers
Here is how the version numbers correspond to Epoch versions and other releases.
0.24.0-0.2.0 - Universal Flavor & Improved RPC
^^^^^^ ^^^^^^^^
| |
| SDK version (next would be 0.24.0-0.3.0)
epoch version
Getting Tokens
There are two ways of getting tokens: the faucets operated by the SDK team will give you tokens for no effort at all, or you can mine your own, which is obviously cooler.
Faucets
sdk-testnet: https://faucet.aepps.com/
sdk-edgenet: https://edge-faucet.aepps.com/
The SDK team does not provide tokens for the uat-testnet via a faucet.
Mining
The simplest way of to mine is by using Docker. First, ensure you have Docker installed and running, then do the following.
First, determine the version of Epoch you need using the /v2/status
endpoint. Example output on sdk-edgenet:
// 20181109160745
// https://sdk-edgenet.aepps.com/v2/status
{
"difficulty": 2017450664,
"genesis_key_block_hash": "kh_2D3fMvkjuNaDwsrTctR4DjWUzztys8b1NBQrQYedTgCvZSkGpJ",
"listening": true,
"node_revision": "765f9cc0fb0904adb4efd0acfecd3c78c0d570f3",
"node_version": "0.25.0",
"peer_count": 0,
"pending_transactions_count": 0,
"protocols": Array[1][
{
"effective_at_height": 0,
"version": 28
}
],
"solutions": 0,
"syncing": true
}
The node_version
field tells you this is version 0.25.0
Now you need to make a config file. The current versions of sdk-testnet and sdk-edgenet are versions 0.24.0 and 0.25.0, and appropriate config files for these are provided below. Later versions of Epoch will almost certainly have different formats, so bear this in mind.
Create a file myepoch.yaml
, with contents the contents below for v0.24.0
---
peers:
- aenode://pp_HdcpgTX2C1aZ5sjGGysFEuup67K9XiFsWqSPJs4RahEcSyF7X@sync.sdk-testnet.aepps.com:3015
keys:
password: "top secret"
dir: ./keys
chain:
persist: true
mining:
autostart: true
beneficiary: "ak_2iBPH7HUz3cSDVEUWiHg76MZJ6tZooVNBmmxcgVK6VV8KAE688"
cuckoo:
miner:
executable: mean16s-generic
extra_args: ""
node_bits: 16
…and the contents below for v0.25.0
---
peers:
- aenode://pp_HdcpgTX2C1aZ5sjGGysFEuup67K9XiFsWqSPJs4RahEcSyF7X@sync.sdk-edgenet.aepps.com:3015
keys:
peer_password: "top secret"
dir: ./keys
chain:
persist: true
mining:
autostart: true
beneficiary: "ak_2iBPH7HUz3cSDVEUWiHg76MZJ6tZooVNBmmxcgVK6VV8KAE688"
cuckoo:
miner:
executable: mean16s-generic
extra_args: ""
node_bits: 16
Make sure you replace ak_2iBPH7HUz3cSDVEUWiHg76MZJ6tZooVNBmmxcgVK6VV8KAE688
with the public key to a wallet you control, unless you wish to donate your mining proceeds to the SDK team (strongly encouraged).
Please note that we use a different miner on our test networks — we use one which is less compute intensive, since we’re not running a full, secure blockchain.
Now you can run it with a command similar to this:
docker run \
-p 3013:3013 \
-v $PWD/myepoch.yaml:/home/epoch/myepoch.yaml \
-e EPOCH_CONFIG=/home/epoch/myepoch.yaml \
aeternity/epoch:vXX.Y.Z
Just replace $PWD/mypoch.yaml
with the path to the file you created, and XX.YY.Z with the version, i.e. 0.24.0 (currently) for the sdk-testnet, 0.25.0 (at time of writing) for the sdk-edgenet. These will of course change.
If all is well you should see output similar to this:
15:17:29.362 [info] TX-pool sync requries getting 0 TXs
15:17:29.757 [info] TX-pool sync added 0 TXs
15:17:30.212 [info] TX-pool synchronization finished!
15:17:42.344 [info] Synced blocks 1 - 1
15:17:50.976 [info] Synced blocks 2 - 35
15:17:51.775 [info] Synced blocks 36 - 96
15:17:52.009 [info] Synced blocks 97 - 100
After following these steps, congratulations! You will be able to successfully mine on the sdk-testnet/sdk-edgenet.
Interested in æternity? Get in touch:
GitHub | Forum | Reddit | Telegram | Twitter | Facebook | Mail
No Comments.