Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
b0ed083e
Unverified
Commit
b0ed083e
authored
Nov 16, 2018
by
Péter Szilágyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmd, core, params: add support for Goerli
parent
bb7c786b
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
77 additions
and
3 deletions
+77
-3
main.go
cmd/geth/main.go
+1
-0
usage.go
cmd/geth/usage.go
+1
-0
flags.go
cmd/utils/flags.go
+21
-2
genesis.go
core/genesis.go
+12
-1
genesis_alloc.go
core/genesis_alloc.go
+1
-0
bootnodes.go
params/bootnodes.go
+14
-0
config.go
params/config.go
+27
-0
No files found.
cmd/geth/main.go
View file @
b0ed083e
...
@@ -128,6 +128,7 @@ var (
...
@@ -128,6 +128,7 @@ var (
utils
.
DeveloperPeriodFlag
,
utils
.
DeveloperPeriodFlag
,
utils
.
TestnetFlag
,
utils
.
TestnetFlag
,
utils
.
RinkebyFlag
,
utils
.
RinkebyFlag
,
utils
.
GoerliFlag
,
utils
.
VMEnableDebugFlag
,
utils
.
VMEnableDebugFlag
,
utils
.
NetworkIdFlag
,
utils
.
NetworkIdFlag
,
utils
.
ConstantinopleOverrideFlag
,
utils
.
ConstantinopleOverrideFlag
,
...
...
cmd/geth/usage.go
View file @
b0ed083e
...
@@ -74,6 +74,7 @@ var AppHelpFlagGroups = []flagGroup{
...
@@ -74,6 +74,7 @@ var AppHelpFlagGroups = []flagGroup{
utils
.
NetworkIdFlag
,
utils
.
NetworkIdFlag
,
utils
.
TestnetFlag
,
utils
.
TestnetFlag
,
utils
.
RinkebyFlag
,
utils
.
RinkebyFlag
,
utils
.
GoerliFlag
,
utils
.
SyncModeFlag
,
utils
.
SyncModeFlag
,
utils
.
ExitWhenSyncedFlag
,
utils
.
ExitWhenSyncedFlag
,
utils
.
GCModeFlag
,
utils
.
GCModeFlag
,
...
...
cmd/utils/flags.go
View file @
b0ed083e
...
@@ -141,6 +141,10 @@ var (
...
@@ -141,6 +141,10 @@ var (
Name
:
"rinkeby"
,
Name
:
"rinkeby"
,
Usage
:
"Rinkeby network: pre-configured proof-of-authority test network"
,
Usage
:
"Rinkeby network: pre-configured proof-of-authority test network"
,
}
}
GoerliFlag
=
cli
.
BoolFlag
{
Name
:
"goerli"
,
Usage
:
"Görli network: pre-configured proof-of-authority test network"
,
}
ConstantinopleOverrideFlag
=
cli
.
Uint64Flag
{
ConstantinopleOverrideFlag
=
cli
.
Uint64Flag
{
Name
:
"override.constantinople"
,
Name
:
"override.constantinople"
,
Usage
:
"Manually specify constantinople fork-block, overriding the bundled setting"
,
Usage
:
"Manually specify constantinople fork-block, overriding the bundled setting"
,
...
@@ -692,6 +696,9 @@ func MakeDataDir(ctx *cli.Context) string {
...
@@ -692,6 +696,9 @@ func MakeDataDir(ctx *cli.Context) string {
if
ctx
.
GlobalBool
(
RinkebyFlag
.
Name
)
{
if
ctx
.
GlobalBool
(
RinkebyFlag
.
Name
)
{
return
filepath
.
Join
(
path
,
"rinkeby"
)
return
filepath
.
Join
(
path
,
"rinkeby"
)
}
}
if
ctx
.
GlobalBool
(
GoerliFlag
.
Name
)
{
return
filepath
.
Join
(
path
,
"goerli"
)
}
return
path
return
path
}
}
Fatalf
(
"Cannot determine default data directory, please set manually (--datadir)"
)
Fatalf
(
"Cannot determine default data directory, please set manually (--datadir)"
)
...
@@ -746,6 +753,8 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) {
...
@@ -746,6 +753,8 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) {
urls
=
params
.
TestnetBootnodes
urls
=
params
.
TestnetBootnodes
case
ctx
.
GlobalBool
(
RinkebyFlag
.
Name
)
:
case
ctx
.
GlobalBool
(
RinkebyFlag
.
Name
)
:
urls
=
params
.
RinkebyBootnodes
urls
=
params
.
RinkebyBootnodes
case
ctx
.
GlobalBool
(
GoerliFlag
.
Name
)
:
urls
=
params
.
GoerliBootnodes
case
cfg
.
BootstrapNodes
!=
nil
:
case
cfg
.
BootstrapNodes
!=
nil
:
return
// already set, don't apply defaults.
return
// already set, don't apply defaults.
}
}
...
@@ -775,6 +784,8 @@ func setBootstrapNodesV5(ctx *cli.Context, cfg *p2p.Config) {
...
@@ -775,6 +784,8 @@ func setBootstrapNodesV5(ctx *cli.Context, cfg *p2p.Config) {
}
}
case
ctx
.
GlobalBool
(
RinkebyFlag
.
Name
)
:
case
ctx
.
GlobalBool
(
RinkebyFlag
.
Name
)
:
urls
=
params
.
RinkebyBootnodes
urls
=
params
.
RinkebyBootnodes
case
ctx
.
GlobalBool
(
GoerliFlag
.
Name
)
:
urls
=
params
.
GoerliBootnodes
case
cfg
.
BootstrapNodesV5
!=
nil
:
case
cfg
.
BootstrapNodesV5
!=
nil
:
return
// already set, don't apply defaults.
return
// already set, don't apply defaults.
}
}
...
@@ -1080,7 +1091,6 @@ func SetNodeConfig(ctx *cli.Context, cfg *node.Config) {
...
@@ -1080,7 +1091,6 @@ func SetNodeConfig(ctx *cli.Context, cfg *node.Config) {
setGraphQL
(
ctx
,
cfg
)
setGraphQL
(
ctx
,
cfg
)
setWS
(
ctx
,
cfg
)
setWS
(
ctx
,
cfg
)
setNodeUserIdent
(
ctx
,
cfg
)
setNodeUserIdent
(
ctx
,
cfg
)
setDataDir
(
ctx
,
cfg
)
setDataDir
(
ctx
,
cfg
)
if
ctx
.
GlobalIsSet
(
KeyStoreDirFlag
.
Name
)
{
if
ctx
.
GlobalIsSet
(
KeyStoreDirFlag
.
Name
)
{
...
@@ -1104,6 +1114,8 @@ func setDataDir(ctx *cli.Context, cfg *node.Config) {
...
@@ -1104,6 +1114,8 @@ func setDataDir(ctx *cli.Context, cfg *node.Config) {
cfg
.
DataDir
=
filepath
.
Join
(
node
.
DefaultDataDir
(),
"testnet"
)
cfg
.
DataDir
=
filepath
.
Join
(
node
.
DefaultDataDir
(),
"testnet"
)
case
ctx
.
GlobalBool
(
RinkebyFlag
.
Name
)
:
case
ctx
.
GlobalBool
(
RinkebyFlag
.
Name
)
:
cfg
.
DataDir
=
filepath
.
Join
(
node
.
DefaultDataDir
(),
"rinkeby"
)
cfg
.
DataDir
=
filepath
.
Join
(
node
.
DefaultDataDir
(),
"rinkeby"
)
case
ctx
.
GlobalBool
(
GoerliFlag
.
Name
)
:
cfg
.
DataDir
=
filepath
.
Join
(
node
.
DefaultDataDir
(),
"goerli"
)
}
}
}
}
...
@@ -1260,7 +1272,7 @@ func SetShhConfig(ctx *cli.Context, stack *node.Node, cfg *whisper.Config) {
...
@@ -1260,7 +1272,7 @@ func SetShhConfig(ctx *cli.Context, stack *node.Node, cfg *whisper.Config) {
// SetEthConfig applies eth-related command line flags to the config.
// SetEthConfig applies eth-related command line flags to the config.
func
SetEthConfig
(
ctx
*
cli
.
Context
,
stack
*
node
.
Node
,
cfg
*
eth
.
Config
)
{
func
SetEthConfig
(
ctx
*
cli
.
Context
,
stack
*
node
.
Node
,
cfg
*
eth
.
Config
)
{
// Avoid conflicting network flags
// Avoid conflicting network flags
checkExclusive
(
ctx
,
DeveloperFlag
,
TestnetFlag
,
RinkebyFlag
)
checkExclusive
(
ctx
,
DeveloperFlag
,
TestnetFlag
,
RinkebyFlag
,
GoerliFlag
)
checkExclusive
(
ctx
,
LightServFlag
,
SyncModeFlag
,
"light"
)
checkExclusive
(
ctx
,
LightServFlag
,
SyncModeFlag
,
"light"
)
ks
:=
stack
.
AccountManager
()
.
Backends
(
keystore
.
KeyStoreType
)[
0
]
.
(
*
keystore
.
KeyStore
)
ks
:=
stack
.
AccountManager
()
.
Backends
(
keystore
.
KeyStoreType
)[
0
]
.
(
*
keystore
.
KeyStore
)
...
@@ -1359,6 +1371,11 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) {
...
@@ -1359,6 +1371,11 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) {
cfg
.
NetworkId
=
4
cfg
.
NetworkId
=
4
}
}
cfg
.
Genesis
=
core
.
DefaultRinkebyGenesisBlock
()
cfg
.
Genesis
=
core
.
DefaultRinkebyGenesisBlock
()
case
ctx
.
GlobalBool
(
GoerliFlag
.
Name
)
:
if
!
ctx
.
GlobalIsSet
(
NetworkIdFlag
.
Name
)
{
cfg
.
NetworkId
=
5
}
cfg
.
Genesis
=
core
.
DefaultGoerliGenesisBlock
()
case
ctx
.
GlobalBool
(
DeveloperFlag
.
Name
)
:
case
ctx
.
GlobalBool
(
DeveloperFlag
.
Name
)
:
if
!
ctx
.
GlobalIsSet
(
NetworkIdFlag
.
Name
)
{
if
!
ctx
.
GlobalIsSet
(
NetworkIdFlag
.
Name
)
{
cfg
.
NetworkId
=
1337
cfg
.
NetworkId
=
1337
...
@@ -1516,6 +1533,8 @@ func MakeGenesis(ctx *cli.Context) *core.Genesis {
...
@@ -1516,6 +1533,8 @@ func MakeGenesis(ctx *cli.Context) *core.Genesis {
genesis
=
core
.
DefaultTestnetGenesisBlock
()
genesis
=
core
.
DefaultTestnetGenesisBlock
()
case
ctx
.
GlobalBool
(
RinkebyFlag
.
Name
)
:
case
ctx
.
GlobalBool
(
RinkebyFlag
.
Name
)
:
genesis
=
core
.
DefaultRinkebyGenesisBlock
()
genesis
=
core
.
DefaultRinkebyGenesisBlock
()
case
ctx
.
GlobalBool
(
GoerliFlag
.
Name
)
:
genesis
=
core
.
DefaultGoerliGenesisBlock
()
case
ctx
.
GlobalBool
(
DeveloperFlag
.
Name
)
:
case
ctx
.
GlobalBool
(
DeveloperFlag
.
Name
)
:
Fatalf
(
"Developer chains are ephemeral"
)
Fatalf
(
"Developer chains are ephemeral"
)
}
}
...
...
core/genesis.go
View file @
b0ed083e
...
@@ -157,7 +157,6 @@ func SetupGenesisBlockWithOverride(db ethdb.Database, genesis *Genesis, constant
...
@@ -157,7 +157,6 @@ func SetupGenesisBlockWithOverride(db ethdb.Database, genesis *Genesis, constant
if
genesis
!=
nil
&&
genesis
.
Config
==
nil
{
if
genesis
!=
nil
&&
genesis
.
Config
==
nil
{
return
params
.
AllEthashProtocolChanges
,
common
.
Hash
{},
errGenesisNoConfig
return
params
.
AllEthashProtocolChanges
,
common
.
Hash
{},
errGenesisNoConfig
}
}
// Just commit the new block if there is no stored genesis block.
// Just commit the new block if there is no stored genesis block.
stored
:=
rawdb
.
ReadCanonicalHash
(
db
,
0
)
stored
:=
rawdb
.
ReadCanonicalHash
(
db
,
0
)
if
(
stored
==
common
.
Hash
{})
{
if
(
stored
==
common
.
Hash
{})
{
...
@@ -340,6 +339,18 @@ func DefaultRinkebyGenesisBlock() *Genesis {
...
@@ -340,6 +339,18 @@ func DefaultRinkebyGenesisBlock() *Genesis {
}
}
}
}
// DefaultGoerliGenesisBlock returns the Görli network genesis block.
func
DefaultGoerliGenesisBlock
()
*
Genesis
{
return
&
Genesis
{
Config
:
params
.
GoerliChainConfig
,
Timestamp
:
1548854791
,
ExtraData
:
hexutil
.
MustDecode
(
"0x22466c6578692069732061207468696e6722202d204166726900000000000000e0a2bd4258d2768837baa26a28fe71dc079f84c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
),
GasLimit
:
10485760
,
Difficulty
:
big
.
NewInt
(
1
),
Alloc
:
decodePrealloc
(
goerliAllocData
),
}
}
// DeveloperGenesisBlock returns the 'geth --dev' genesis block. Note, this must
// DeveloperGenesisBlock returns the 'geth --dev' genesis block. Note, this must
// be seeded with the
// be seeded with the
func
DeveloperGenesisBlock
(
period
uint64
,
faucet
common
.
Address
)
*
Genesis
{
func
DeveloperGenesisBlock
(
period
uint64
,
faucet
common
.
Address
)
*
Genesis
{
...
...
core/genesis_alloc.go
View file @
b0ed083e
This source diff could not be displayed because it is too large. You can
view the blob
instead.
params/bootnodes.go
View file @
b0ed083e
...
@@ -47,6 +47,20 @@ var RinkebyBootnodes = []string{
...
@@ -47,6 +47,20 @@ var RinkebyBootnodes = []string{
"enode://b6b28890b006743680c52e64e0d16db57f28124885595fa03a562be1d2bf0f3a1da297d56b13da25fb992888fd556d4c1a27b1f39d531bde7de1921c90061cc6@159.89.28.211:30303"
,
// AKASHA
"enode://b6b28890b006743680c52e64e0d16db57f28124885595fa03a562be1d2bf0f3a1da297d56b13da25fb992888fd556d4c1a27b1f39d531bde7de1921c90061cc6@159.89.28.211:30303"
,
// AKASHA
}
}
// GoerliBootnodes are the enode URLs of the P2P bootstrap nodes running on the
// Görli test network.
var
GoerliBootnodes
=
[]
string
{
// Upstrem bootnodes
"enode://011f758e6552d105183b1761c5e2dea0111bc20fd5f6422bc7f91e0fabbec9a6595caf6239b37feb773dddd3f87240d99d859431891e4a642cf2a0a9e6cbb98a@51.141.78.53:30303"
,
"enode://176b9417f511d05b6b2cf3e34b756cf0a7096b3094572a8f6ef4cdcb9d1f9d00683bf0f83347eebdf3b81c3521c2332086d9592802230bf528eaf606a1d9677b@13.93.54.137:30303"
,
"enode://46add44b9f13965f7b9875ac6b85f016f341012d84f975377573800a863526f4da19ae2c620ec73d11591fa9510e992ecc03ad0751f53cc02f7c7ed6d55c7291@94.237.54.114:30313"
,
"enode://c1f8b7c2ac4453271fa07d8e9ecf9a2e8285aa0bd0c07df0131f47153306b0736fd3db8924e7a9bf0bed6b1d8d4f87362a71b033dc7c64547728d953e43e59b2@52.64.155.147:30303"
,
"enode://f4a9c6ee28586009fb5a96c8af13a58ed6d8315a9eee4772212c1d4d9cebe5a8b8a78ea4434f318726317d04a3f531a1ef0420cf9752605a562cfe858c46e263@213.186.16.82:30303"
,
// Ethereum Foundation bootnode
"enode://573b6607cd59f241e30e4c4943fd50e99e2b6f42f9bd5ca111659d309c06741247f4f1e93843ad3e8c8c18b6e2d94c161b7ef67479b3938780a97134b618b5ce@52.56.136.200:30303"
,
}
// DiscoveryV5Bootnodes are the enode URLs of the P2P bootstrap nodes for the
// DiscoveryV5Bootnodes are the enode URLs of the P2P bootstrap nodes for the
// experimental RLPx v5 topic-discovery network.
// experimental RLPx v5 topic-discovery network.
var
DiscoveryV5Bootnodes
=
[]
string
{
var
DiscoveryV5Bootnodes
=
[]
string
{
...
...
params/config.go
View file @
b0ed083e
...
@@ -109,6 +109,33 @@ var (
...
@@ -109,6 +109,33 @@ var (
BloomRoot
:
common
.
HexToHash
(
"0xcf74ca2c14e843b366561dab4fc64237bf6bb335119cbc97d723f3b501863470"
),
BloomRoot
:
common
.
HexToHash
(
"0xcf74ca2c14e843b366561dab4fc64237bf6bb335119cbc97d723f3b501863470"
),
}
}
// GoerliChainConfig contains the chain parameters to run a node on the Görli test network.
GoerliChainConfig
=
&
ChainConfig
{
ChainID
:
big
.
NewInt
(
5
),
HomesteadBlock
:
big
.
NewInt
(
0
),
DAOForkBlock
:
nil
,
DAOForkSupport
:
true
,
EIP150Block
:
big
.
NewInt
(
0
),
EIP155Block
:
big
.
NewInt
(
0
),
EIP158Block
:
big
.
NewInt
(
0
),
ByzantiumBlock
:
big
.
NewInt
(
0
),
ConstantinopleBlock
:
big
.
NewInt
(
0
),
PetersburgBlock
:
big
.
NewInt
(
0
),
Clique
:
&
CliqueConfig
{
Period
:
15
,
Epoch
:
30000
,
},
}
// GoerliTrustedCheckpoint contains the light client trusted checkpoint for the Görli test network.
GoerliTrustedCheckpoint
=
&
TrustedCheckpoint
{
Name
:
"goerli"
,
SectionIndex
:
0
,
SectionHead
:
common
.
HexToHash
(
"0x0000000000000000000000000000000000000000000000000000000000000000"
),
CHTRoot
:
common
.
HexToHash
(
"0x0000000000000000000000000000000000000000000000000000000000000000"
),
BloomRoot
:
common
.
HexToHash
(
"0x0000000000000000000000000000000000000000000000000000000000000000"
),
}
// AllEthashProtocolChanges contains every protocol change (EIPs) introduced
// AllEthashProtocolChanges contains every protocol change (EIPs) introduced
// and accepted by the Ethereum core developers into the Ethash consensus.
// and accepted by the Ethereum core developers into the Ethash consensus.
//
//
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment