mirror of
https://github.com/logos-storage/logos-storage-testnet-starter.git
synced 2026-01-05 23:13:11 +00:00
Update docker-compose and guide (#10)
* Pass ports values via variables * Update How to start section
This commit is contained in:
parent
10ed19a50d
commit
c63c54aee6
95
README.md
95
README.md
@ -24,36 +24,46 @@ Using the Testnet Starter, you can run a (mostly preconfigured) Codex node on yo
|
|||||||
```
|
```
|
||||||
|
|
||||||
3. Create an Ethereum public/private key pair
|
3. Create an Ethereum public/private key pair
|
||||||
|
<details>
|
||||||
|
<summary>Use Docker</summary>
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Generate keypair
|
||||||
|
docker run --rm gochain/web3 account create
|
||||||
|
```
|
||||||
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Use metamask</summary>
|
<summary>Use metamask</summary>
|
||||||
|
|
||||||
1. [Accounts and Addresses](https://support.metamask.io/hc/en-us/sections/4471975962907-Accounts-and-Addresses)
|
1. [Accounts and Addresses](https://support.metamask.io/hc/en-us/sections/4471975962907-Accounts-and-Addresses)
|
||||||
2. [How to export an account's private key](https://support.metamask.io/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key)
|
2. [How to export an account's private key](https://support.metamask.io/hc/en-us/articles/360015289632-How-to-export-an-account-s-private-key)
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Use Python code</summary>
|
<summary>Use Python code</summary>
|
||||||
|
|
||||||
1. Create a venv
|
1. Create a venv
|
||||||
```shell
|
```shell
|
||||||
pip3 install virtualenv
|
pip3 install virtualenv
|
||||||
|
|
||||||
venv=codex-eth-key
|
venv=codex-eth-key
|
||||||
mkdir $venv && cd $venv
|
mkdir $venv && cd $venv
|
||||||
|
|
||||||
python3 -m venv env
|
python3 -m venv env
|
||||||
source env/bin/activate
|
source env/bin/activate
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Install required packages
|
2. Install required packages
|
||||||
```shell
|
```shell
|
||||||
pip3 install web3
|
pip3 install web3
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Create a script
|
3. Create a script
|
||||||
```shell
|
```shell
|
||||||
vi eth-keys.py
|
vi eth-keys.py
|
||||||
```
|
```
|
||||||
```python
|
```python
|
||||||
from eth_account import Account
|
from eth_account import Account
|
||||||
|
|
||||||
def generate_ethereum_keypair():
|
def generate_ethereum_keypair():
|
||||||
@ -74,41 +84,18 @@ Using the Testnet Starter, you can run a (mostly preconfigured) Codex node on yo
|
|||||||
# Print the keys
|
# Print the keys
|
||||||
print("Private Key:", private_key)
|
print("Private Key:", private_key)
|
||||||
print("Public Key (Ethereum Address):", public_key)
|
print("Public Key (Ethereum Address):", public_key)
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Generate the keys
|
4. Generate the keys
|
||||||
```shell
|
```shell
|
||||||
python3 eth-keys.py
|
python3 eth-keys.py
|
||||||
```
|
```
|
||||||
5. Cleanup
|
5. Cleanup
|
||||||
```shell
|
```shell
|
||||||
deactivate
|
deactivate
|
||||||
cd .. && rm -rf $venv
|
cd .. && rm -rf $venv
|
||||||
```
|
```
|
||||||
</details>
|
</details>
|
||||||
<details>
|
|
||||||
<summary>Use Docker</summary>
|
|
||||||
|
|
||||||
```shell
|
|
||||||
# Generate keystore
|
|
||||||
docker \
|
|
||||||
run --rm -it \
|
|
||||||
-v ./geth-account:/data \
|
|
||||||
ethereum/client-go \
|
|
||||||
--datadir /data account new
|
|
||||||
|
|
||||||
# Set keystore
|
|
||||||
keystore=$(find geth-account -name "UTC--*" -exec basename {} \;)
|
|
||||||
|
|
||||||
# Get private key
|
|
||||||
docker run --rm \
|
|
||||||
-v ./geth-account/keystore:/keystore \
|
|
||||||
gochain/web3 \
|
|
||||||
account extract \
|
|
||||||
--keyfile /keystore/$keystore
|
|
||||||
# --password password
|
|
||||||
```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
```
|
```
|
||||||
# Example
|
# Example
|
||||||
@ -119,9 +106,9 @@ Using the Testnet Starter, you can run a (mostly preconfigured) Codex node on yo
|
|||||||
4. Define variables
|
4. Define variables
|
||||||
```shell
|
```shell
|
||||||
export PRIV_KEY=0xacec4df7549199708a9f66b151aea7bf41b4d30bd325b96b26f017246226e1a3
|
export PRIV_KEY=0xacec4df7549199708a9f66b151aea7bf41b4d30bd325b96b26f017246226e1a3
|
||||||
|
export CODEX_LISTEN_ADDRS=/ip4/0.0.0.0/tcp/8070
|
||||||
|
export CODEX_DISC_PORT=8090
|
||||||
|
|
||||||
# export CODEX_LISTEN_ADDRS=/ip4/0.0.0.0/tcp/8070
|
|
||||||
# export CODEX_DISC_PORT=8090
|
|
||||||
# export CODEX_ETH_PROVIDER=https://rpc.testnet.codex.storage
|
# export CODEX_ETH_PROVIDER=https://rpc.testnet.codex.storage
|
||||||
# export CODEX_LOG_LEVEL=TRACE
|
# export CODEX_LOG_LEVEL=TRACE
|
||||||
#
|
#
|
||||||
@ -136,6 +123,12 @@ Using the Testnet Starter, you can run a (mostly preconfigured) Codex node on yo
|
|||||||
docker-compose up
|
docker-compose up
|
||||||
```
|
```
|
||||||
|
|
||||||
|
6. Setup port forwarding on your router for Codex, based on defined values
|
||||||
|
```
|
||||||
|
TCP - CODEX_LISTEN_ADDRS=/ip4/0.0.0.0/tcp/8070
|
||||||
|
UDP - CODEX_DISC_PORT=8090
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## [How to get ready](#codex-testnet-starter)
|
## [How to get ready](#codex-testnet-starter)
|
||||||
When starting the Testnet Starter for the first time, (or restarting after a long pause) please keep in mind:
|
When starting the Testnet Starter for the first time, (or restarting after a long pause) please keep in mind:
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
version: '3.9'
|
|
||||||
services:
|
services:
|
||||||
# Codex Node
|
# Codex Node
|
||||||
codex:
|
codex:
|
||||||
@ -20,8 +19,8 @@ services:
|
|||||||
- CODEX_LOG_LEVEL=TRACE;warn:discv5,providers,manager,cache;warn:libp2p,multistream,switch,transport,tcptransport,semaphore,asyncstreamwrapper,lpstream,mplex,mplexchannel,noise,bufferstream,mplexcoder,secure,chronosstream,connection,connmanager,websock,ws-session
|
- CODEX_LOG_LEVEL=TRACE;warn:discv5,providers,manager,cache;warn:libp2p,multistream,switch,transport,tcptransport,semaphore,asyncstreamwrapper,lpstream,mplex,mplexchannel,noise,bufferstream,mplexcoder,secure,chronosstream,connection,connmanager,websock,ws-session
|
||||||
- CODEX_API_PORT=8080
|
- CODEX_API_PORT=8080
|
||||||
- CODEX_API_BINDADDR=0.0.0.0
|
- CODEX_API_BINDADDR=0.0.0.0
|
||||||
- CODEX_LISTEN_ADDRS=/ip4/0.0.0.0/tcp/8070
|
- CODEX_LISTEN_ADDRS=${CODEX_LISTEN_ADDRS:-/ip4/0.0.0.0/tcp/8070}
|
||||||
- CODEX_DISC_PORT=8090
|
- CODEX_DISC_PORT=${CODEX_DISC_PORT:-8090}
|
||||||
- NAT_PUBLIC_IP_AUTO=${NAT_PUBLIC_IP_AUTO:-https://ip.codex.storage}
|
- NAT_PUBLIC_IP_AUTO=${NAT_PUBLIC_IP_AUTO:-https://ip.codex.storage}
|
||||||
- CODEX_ETH_PROVIDER=${CODEX_ETH_PROVIDER:-ws://geth:8546}
|
- CODEX_ETH_PROVIDER=${CODEX_ETH_PROVIDER:-ws://geth:8546}
|
||||||
- CODEX_VALIDATOR=false
|
- CODEX_VALIDATOR=false
|
||||||
@ -64,11 +63,10 @@ services:
|
|||||||
- GETH_DATADIR=/data
|
- GETH_DATADIR=/data
|
||||||
- GETH_NETWORKID=789987
|
- GETH_NETWORKID=789987
|
||||||
- GETH_SYNCMODE=snap
|
- GETH_SYNCMODE=snap
|
||||||
# - GETH_NAT=extip:1.1.1.1
|
- GETH_NAT=${GETH_NAT:-auto}
|
||||||
- GETH_NAT=auto
|
- GETH_DISCOVERY_PORT=${GETH_DISCOVERY_PORT:-8547}
|
||||||
- GETH_DISCOVERY_PORT=8547
|
- GETH_PORT=${GETH_PORT:-8548}
|
||||||
- GETH_PORT=8548
|
- GETH_VERBOSITY=${GETH_VERBOSITY:-2}
|
||||||
- GETH_VERBOSITY=${GETH_VERBOSITY:-3}
|
|
||||||
- GETH_HTTP=true
|
- GETH_HTTP=true
|
||||||
- GETH_HTTP_PORT=8545
|
- GETH_HTTP_PORT=8545
|
||||||
- GETH_HTTP_ADDR=0.0.0.0
|
- GETH_HTTP_ADDR=0.0.0.0
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user