Shisui
Shisui is an Ethereum portal client written in Go language based
on go-ethereum.
The name is inspired by Uchiha Shisui from the anime Naruto, who is renowned as "Shisui of the Body Flicker".
Note: Shisui is still under heavy development and is not yet ready for production use.
Building the source
For prerequisites and detailed build instructions please read
the Installation Instructions.
Building shisui
requires both a Go (version 1.22 or later) and a C compiler. You can install
them using your favourite package manager. Once the dependencies are installed, run
make shisui
Also, you can build the docker image by running
make shisui-image
Running shisui
After building shisui
, you can start the client by running
# supported options are list below
./build/bin/shisui
Alternatively, you can run the docker image by running
docker run -d -p 8545:8545 -p 9009:9009/udp -e SHISUI_NAT=stun ghcr.io/optimism-java/shisui:latest
# if you know your exiIp, replace by -e SHISUI_NAT=extip:${your ip}
You can use the script below to check if the node has started correctly.
curl -X POST http://127.0.0.1:8545 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "discv5_nodeInfo",
"params": [],
"id": 0
}'
supported options
--rpc.addr
HTTP-RPC server listening addr
--rpc.port
HTTP-RPC server listening port(default: 8545
)
--data.dir
data dir of where the data file located(default: ./
)
--data.capacity
the capacity of the data stored, the unit is MB(default: 10GB
)
--nat
p2p address(default none
)
none
, find local address
any
uses the first auto-detected mechanism
extip:77.12.33.4
will assume the local machine is reachable on the given IP
upnp
uses the Universal Plug and Play protocol
pmp
uses NAT-PMP with an auto-detected gateway address
pmp:192.168.0.1
uses NAT-PMP with the given gateway address
stun
uses stun server to find extip
--udp.addr
protocol UDP server listening port(default: 9009
)
--loglevel
loglevel of portal network, 1
to 5
, from error
to trace
(default: 1
)
--private.key
private key of p2p node, hex format without 0x
prifix
--bootnodes
bootnode of p2p network with ENR format, use none
to config empty bootnodes
--networks
portal sub networks: history, beacon, state
all the options above can be set with envs.
the env is prefixed with SHISUI
and change the .
to _
.
eg --rpc.add
can be replaced with env SHISUI_RPC_ADDR
Hardware Requirements
Minimum:
- CPU with 2+ cores
- 4GB RAM
- 1TB free storage space to sync the Mainnet
- 8 MBit/sec download Internet service
Recommended:
- Fast CPU with 4+ cores
- 16GB+ RAM
- High-performance SSD with at least 1TB of free space
- 25+ MBit/sec download Internet service