You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Automated builds are available for stable releases and the unstable master branch. Binary
13
-
archives are published at https://geth.ethereum.org/downloads/.
11
+
Automated builds are available for stable releases only. Binary archives are
12
+
published at https://github.com/bane-labs/go-ethereum/releases.
14
13
15
14
## Building the source
16
15
17
-
For prerequisites and detailed build instructions please read the [Installation Instructions](https://geth.ethereum.org/docs/getting-started/installing-geth).
16
+
For prerequisites and detailed build instructions please read the [Installation Instructions](https://docs.banelabs.org/development/running-a-node-in-testnet).
18
17
19
18
Building `geth` requires both a Go (version 1.19 or later) and a C compiler. You can install
20
19
them using your favourite package manager. Once the dependencies are installed, run
@@ -57,7 +56,7 @@ Minimum:
57
56
58
57
* CPU with 2+ cores
59
58
* 4GB RAM
60
-
*1TB free storage space to sync the Mainnet
59
+
*200GB free storage space to sync the Testnet
61
60
* 8 MBit/sec download Internet service
62
61
63
62
Recommended:
@@ -67,55 +66,146 @@ Recommended:
67
66
* High-performance SSD with at least 1TB of free space
68
67
* 25+ MBit/sec download Internet service
69
68
70
-
### Full node on the main Ethereum network
71
-
72
-
By far the most common scenario is people wanting to simply interact with the Ethereum
73
-
network: create accounts; transfer funds; deploy and interact with contracts. For this
74
-
particular use case, the user doesn't care about years-old historical data, so we can
75
-
sync quickly to the current state of the network. To do so:
76
-
77
-
```shell
78
-
$ geth console
79
-
```
80
-
81
-
This command will:
82
-
* Start `geth` in snap sync mode (default, can be changed with the `--syncmode` flag),
83
-
causing it to download more data in exchange for avoiding processing the entire history
84
-
of the Ethereum network, which is very CPU intensive.
85
-
* Start the built-in interactive [JavaScript console](https://geth.ethereum.org/docs/interacting-with-geth/javascript-console),
86
-
(via the trailing `console` subcommand) through which you can interact using [`web3` methods](https://github.com/ChainSafe/web3.js/blob/0.20.7/DOCUMENTATION.md)
87
-
(note: the `web3` version bundled within `geth` is very old, and not up to date with official docs),
88
-
as well as `geth`'s own [management APIs](https://geth.ethereum.org/docs/interacting-with-geth/rpc).
89
-
This tool is optional and if you leave it out you can always attach it to an already running
90
-
`geth` instance with `geth attach`.
91
-
92
-
### A Full node on the Görli test network
93
-
94
-
Transitioning towards developers, if you'd like to play around with creating Ethereum
95
-
contracts, you almost certainly would like to do that without any real money involved until
96
-
you get the hang of the entire system. In other words, instead of attaching to the main
97
-
network, you want to join the **test** network with your node, which is fully equivalent to
98
-
the main network, but with play-Ether only.
99
-
100
-
```shell
101
-
$ geth --goerli console
102
-
```
103
-
104
-
The `console` subcommand has the same meaning as above and is equally
105
-
useful on the testnet too.
106
-
107
-
Specifying the `--goerli` flag, however, will reconfigure your `geth` instance a bit:
108
-
109
-
* Instead of connecting to the main Ethereum network, the client will connect to the Görli
110
-
test network, which uses different P2P bootnodes, different network IDs and genesis
111
-
states.
112
-
* Instead of using the default data directory (`~/.ethereum` on Linux for example), `geth`
113
-
will nest itself one level deeper into a `goerli` subfolder (`~/.ethereum/goerli` on
114
-
Linux). Note, on OSX and Linux this also means that attaching to a running testnet node
115
-
requires the use of a custom endpoint since `geth attach` will try to attach to a
116
-
production node endpoint by default, e.g.,
117
-
`geth attach <datadir>/goerli/geth.ipc`. Windows users are not affected by
118
-
this.
69
+
### Full node on the Testnet Neo X network
70
+
71
+
To run a full node on the Neo X Testnet network follow the steps below.
72
+
73
+
1. Download the binaries from https://github.com/bane-labs/go-ethereum/releases or
74
+
build the node with the following command:
75
+
```shell
76
+
make geth
77
+
```
78
+
2. Download the corresponding Neo X Testnet configuration from the
You may need to change the P2P/HTTP/RPC/WS ports to avoid conflicts. Please,
133
+
remember to change the `--nat` flag's extip if you want other nodes to be able
134
+
to find yours. Refer to
135
+
https://geth.ethereum.org/docs/fundamentals/command-line-options for more
136
+
details about start options.
137
+
138
+
This script expects node DB directory to be `./node/node1` and the address of
139
+
your account to be stored at `./node/node1/node_address.txt`.
140
+
141
+
Once all necessary flags are applied to the `./geth` command, you may run the
142
+
seed node by running this script.
143
+
144
+
2. **Running a consensus node.** Consensus node is a network member that takes
145
+
part in a block acceptance process. Every node is allowed take part in the
146
+
consensus process in watch-only mode. However, to become a block-producing
147
+
validator the candidate must register itself via Governance contract and earn
148
+
enough votes from the Neo X users. Please refer to the
149
+
[Neo X Governance documentation](https://docs.banelabs.org/governance/governance-in-neo-x)
150
+
and to the [Neo X candidate registration documentation](https://docs.banelabs.org/development/running-a-node-in-testnet#id-6.-registering-as-a-candidate)
151
+
for more details.
152
+
153
+
To start a consensus node use `--mine` flag with addition to the script for the
154
+
seed node. The following script may be used as a template:
155
+
```shell
156
+
#!/bin/bash
157
+
158
+
node="nodes/node1"
159
+
160
+
startP2PPort=30300
161
+
startRPCPort=8561
162
+
163
+
port=`expr $startP2PPort + $nodeIndex`
164
+
rpcport=`expr $startRPCPort + $nodeIndex`
165
+
166
+
miner=$(<$node/node_address.txt)
167
+
echo "$node and miner is $miner, rpc port $rpcport, p2p port $port"
0 commit comments