Go implementation of the Ethereum protocol
Find a file
Chen Kai 6088495691 fix:merge geth p2p change
Signed-off-by: Chen Kai <281165273grape@gmail.com>
2024-06-17 20:28:49 +08:00
.github fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
accounts fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
beacon fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
build fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
cmd fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
common fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
consensus all: refactor so NewBlock, WithBody take types.Body (#29482) 2024-04-30 14:55:08 +02:00
console console: fix the wrong error msg of datadir testcase (#29183) 2024-03-08 12:15:52 +01:00
core fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
crypto fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
docs docs/postmortems: fix outdated link (#28893) 2024-01-29 16:40:57 +01:00
eth fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
ethclient all: refactor so NewBlock, WithBody take types.Body (#29482) 2024-04-30 14:55:08 +02:00
ethdb fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
ethstats all: use timer instead of time.After in loops, to avoid memleaks (#29241) 2024-04-09 08:51:54 +02:00
event event: fix typo (#29749) 2024-05-10 19:44:07 +02:00
graphql eth/downloader, graphql: fix typos (#29243) 2024-03-15 10:07:47 +01:00
internal fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
log fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
metrics fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
miner fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
node fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
p2p fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
params fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
portalnetwork fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
rlp fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
rpc all: fix various typos (#29600) 2024-04-23 13:09:42 +03:00
signer fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
swarm swarm: fix outdated link (#26501) 2023-01-16 11:00:55 +01:00
tests tests: update tests (#29730) 2024-05-13 21:34:29 +08:00
trie fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
triedb fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
.dockerignore cmd, internal/build, docker: advertise commit date in unstable build versions (#19522) 2019-05-08 16:44:28 +03:00
.gitattributes .gitattributes: enable solidity highlighting on github (#16425) 2018-04-03 15:21:24 +02:00
.gitignore git: ignore tests/spec-tests folder (#28254) 2023-10-10 10:56:50 +02:00
.gitmodules tests: external evm benchmarks (#24050) 2022-01-28 08:47:19 +01:00
.golangci.yml fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
.mailmap .mailmap: remove invalid email address (#29163) 2024-03-04 21:58:25 +01:00
.travis.yml .travis.yml: disable normal unit tests in cron job (#29746) 2024-05-09 16:05:42 +02:00
appveyor.yml tests, appveyor: only execute one in four permutations on CI (#29220) 2024-03-13 18:12:23 +01:00
AUTHORS AUTHORS: remove one more duplicate entry (#24950) 2022-05-24 21:04:21 +02:00
circle.yml circleci: enable docker based hive testing 2016-07-15 16:07:34 +03:00
COPYING COYPING: restore the full text text of GPL (#21568) 2020-09-15 08:27:17 +02:00
COPYING.LESSER all: update license information 2015-07-07 14:12:44 +02:00
Dockerfile all: fix typos (#29288) 2024-03-20 08:49:38 +01:00
Dockerfile.alltools all: fix typos (#29288) 2024-03-20 08:49:38 +01:00
Dockerfile.portal feat:update go version 2024-03-20 16:02:26 +08:00
go.mod fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
go.sum fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
interfaces.go ethereum, ethclient: add blob transaction fields in CallMsg (#28989) 2024-02-15 10:08:46 +01:00
Makefile fix:merge geth p2p change 2024-06-17 20:28:49 +08:00
oss-fuzz.sh core/vm: update gascosts for BLS12-381 + use gnark instead of kilic (#29441) 2024-04-16 10:53:43 +02:00
README.md feat: change document 2024-06-12 11:02:05 +08:00
SECURITY.md SECURITY.md: fix typo (#24244) 2022-01-16 00:38:43 +01:00

Shisui

AppVeyor Build (with branch) Discord

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.19 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

./build/bin/shisui

Alternatively, you can run the docker image by running

docker run -d -p 8545:8545 -p 9009:9009/udp ghcr.io/optimism-java/shisui:latest

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
  • --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
  • --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