cmd/geth: eth/catalyst: enable authrpc by default (#25152)
* cmd/geth: eth/catalyst: enable authrpc by default * eth/catalyst: rename catalyst -> Engine API in logs * eth/catalyst: don't panic
This commit is contained in:
parent
22d71afc95
commit
3b2a6b34d9
@ -41,7 +41,7 @@ func runMinimalGeth(t *testing.T, args ...string) *testgeth {
|
|||||||
// --ropsten to make the 'writing genesis to disk' faster (no accounts)
|
// --ropsten to make the 'writing genesis to disk' faster (no accounts)
|
||||||
// --networkid=1337 to avoid cache bump
|
// --networkid=1337 to avoid cache bump
|
||||||
// --syncmode=full to avoid allocating fast sync bloom
|
// --syncmode=full to avoid allocating fast sync bloom
|
||||||
allArgs := []string{"--ropsten", "--networkid", "1337", "--syncmode=full", "--port", "0",
|
allArgs := []string{"--ropsten", "--networkid", "1337", "--authrpc.port", "0", "--syncmode=full", "--port", "0",
|
||||||
"--nat", "none", "--nodiscover", "--maxpeers", "0", "--cache", "64",
|
"--nat", "none", "--nodiscover", "--maxpeers", "0", "--cache", "64",
|
||||||
"--datadir.minfreedisk", "0"}
|
"--datadir.minfreedisk", "0"}
|
||||||
return runGeth(t, append(allArgs, args...)...)
|
return runGeth(t, append(allArgs, args...)...)
|
||||||
|
@ -83,7 +83,7 @@ func TestCustomGenesis(t *testing.T) {
|
|||||||
|
|
||||||
// Query the custom genesis block
|
// Query the custom genesis block
|
||||||
geth := runGeth(t, "--networkid", "1337", "--syncmode=full", "--cache", "16",
|
geth := runGeth(t, "--networkid", "1337", "--syncmode=full", "--cache", "16",
|
||||||
"--datadir", datadir, "--maxpeers", "0", "--port", "0",
|
"--datadir", datadir, "--maxpeers", "0", "--port", "0", "--authrpc.port", "0",
|
||||||
"--nodiscover", "--nat", "none", "--ipcdisable",
|
"--nodiscover", "--nat", "none", "--ipcdisable",
|
||||||
"--exec", tt.query, "console")
|
"--exec", tt.query, "console")
|
||||||
geth.ExpectRegexp(tt.result)
|
geth.ExpectRegexp(tt.result)
|
||||||
|
@ -111,7 +111,7 @@ var nextIPC = uint32(0)
|
|||||||
|
|
||||||
func startGethWithIpc(t *testing.T, name string, args ...string) *gethrpc {
|
func startGethWithIpc(t *testing.T, name string, args ...string) *gethrpc {
|
||||||
ipcName := fmt.Sprintf("geth-%d.ipc", atomic.AddUint32(&nextIPC, 1))
|
ipcName := fmt.Sprintf("geth-%d.ipc", atomic.AddUint32(&nextIPC, 1))
|
||||||
args = append([]string{"--networkid=42", "--port=0", "--ipcpath", ipcName}, args...)
|
args = append([]string{"--networkid=42", "--port=0", "--authrpc.port", "0", "--ipcpath", ipcName}, args...)
|
||||||
t.Logf("Starting %v with rpc: %v", name, args)
|
t.Logf("Starting %v with rpc: %v", name, args)
|
||||||
|
|
||||||
g := &gethrpc{
|
g := &gethrpc{
|
||||||
|
@ -1993,10 +1993,8 @@ func RegisterEthService(stack *node.Node, cfg *ethconfig.Config) (ethapi.Backend
|
|||||||
Fatalf("Failed to register the Ethereum service: %v", err)
|
Fatalf("Failed to register the Ethereum service: %v", err)
|
||||||
}
|
}
|
||||||
stack.RegisterAPIs(tracers.APIs(backend.ApiBackend))
|
stack.RegisterAPIs(tracers.APIs(backend.ApiBackend))
|
||||||
if backend.BlockChain().Config().TerminalTotalDifficulty != nil {
|
if err := lescatalyst.Register(stack, backend); err != nil {
|
||||||
if err := lescatalyst.Register(stack, backend); err != nil {
|
Fatalf("Failed to register the Engine API service: %v", err)
|
||||||
Fatalf("Failed to register the catalyst service: %v", err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return backend.ApiBackend, nil
|
return backend.ApiBackend, nil
|
||||||
}
|
}
|
||||||
@ -2010,10 +2008,8 @@ func RegisterEthService(stack *node.Node, cfg *ethconfig.Config) (ethapi.Backend
|
|||||||
Fatalf("Failed to create the LES server: %v", err)
|
Fatalf("Failed to create the LES server: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if backend.BlockChain().Config().TerminalTotalDifficulty != nil {
|
if err := ethcatalyst.Register(stack, backend); err != nil {
|
||||||
if err := ethcatalyst.Register(stack, backend); err != nil {
|
Fatalf("Failed to register the Engine API service: %v", err)
|
||||||
Fatalf("Failed to register the catalyst service: %v", err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
stack.RegisterAPIs(tracers.APIs(backend.APIBackend))
|
stack.RegisterAPIs(tracers.APIs(backend.APIBackend))
|
||||||
return backend.APIBackend, backend
|
return backend.APIBackend, backend
|
||||||
|
@ -37,9 +37,9 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Register adds catalyst APIs to the full node.
|
// Register adds the engine API to the full node.
|
||||||
func Register(stack *node.Node, backend *eth.Ethereum) error {
|
func Register(stack *node.Node, backend *eth.Ethereum) error {
|
||||||
log.Warn("Catalyst mode enabled", "protocol", "eth")
|
log.Warn("Engine API enabled", "protocol", "eth")
|
||||||
stack.RegisterAPIs([]rpc.API{
|
stack.RegisterAPIs([]rpc.API{
|
||||||
{
|
{
|
||||||
Namespace: "engine",
|
Namespace: "engine",
|
||||||
@ -62,7 +62,7 @@ type ConsensusAPI struct {
|
|||||||
// The underlying blockchain needs to have a valid terminal total difficulty set.
|
// The underlying blockchain needs to have a valid terminal total difficulty set.
|
||||||
func NewConsensusAPI(eth *eth.Ethereum) *ConsensusAPI {
|
func NewConsensusAPI(eth *eth.Ethereum) *ConsensusAPI {
|
||||||
if eth.BlockChain().Config().TerminalTotalDifficulty == nil {
|
if eth.BlockChain().Config().TerminalTotalDifficulty == nil {
|
||||||
panic("Catalyst started without valid total difficulty")
|
log.Warn("Engine API started without valid total difficulty")
|
||||||
}
|
}
|
||||||
return &ConsensusAPI{
|
return &ConsensusAPI{
|
||||||
eth: eth,
|
eth: eth,
|
||||||
@ -73,7 +73,7 @@ func NewConsensusAPI(eth *eth.Ethereum) *ConsensusAPI {
|
|||||||
|
|
||||||
// ForkchoiceUpdatedV1 has several responsibilities:
|
// ForkchoiceUpdatedV1 has several responsibilities:
|
||||||
// If the method is called with an empty head block:
|
// If the method is called with an empty head block:
|
||||||
// we return success, which can be used to check if the catalyst mode is enabled
|
// we return success, which can be used to check if the engine API is enabled
|
||||||
// If the total difficulty was not reached:
|
// If the total difficulty was not reached:
|
||||||
// we return INVALID
|
// we return INVALID
|
||||||
// If the finalizedBlockHash is set:
|
// If the finalizedBlockHash is set:
|
||||||
@ -223,7 +223,7 @@ func (api *ConsensusAPI) ExchangeTransitionConfigurationV1(config beacon.Transit
|
|||||||
return nil, errors.New("invalid terminal total difficulty")
|
return nil, errors.New("invalid terminal total difficulty")
|
||||||
}
|
}
|
||||||
ttd := api.eth.BlockChain().Config().TerminalTotalDifficulty
|
ttd := api.eth.BlockChain().Config().TerminalTotalDifficulty
|
||||||
if ttd.Cmp(config.TerminalTotalDifficulty.ToInt()) != 0 {
|
if ttd == nil || ttd.Cmp(config.TerminalTotalDifficulty.ToInt()) != 0 {
|
||||||
log.Warn("Invalid TTD configured", "geth", ttd, "beacon", config.TerminalTotalDifficulty)
|
log.Warn("Invalid TTD configured", "geth", ttd, "beacon", config.TerminalTotalDifficulty)
|
||||||
return nil, fmt.Errorf("invalid ttd: execution %v consensus %v", ttd, config.TerminalTotalDifficulty)
|
return nil, fmt.Errorf("invalid ttd: execution %v consensus %v", ttd, config.TerminalTotalDifficulty)
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,7 @@ type ConsensusAPI struct {
|
|||||||
// The underlying blockchain needs to have a valid terminal total difficulty set.
|
// The underlying blockchain needs to have a valid terminal total difficulty set.
|
||||||
func NewConsensusAPI(les *les.LightEthereum) *ConsensusAPI {
|
func NewConsensusAPI(les *les.LightEthereum) *ConsensusAPI {
|
||||||
if les.BlockChain().Config().TerminalTotalDifficulty == nil {
|
if les.BlockChain().Config().TerminalTotalDifficulty == nil {
|
||||||
panic("Catalyst started without valid total difficulty")
|
log.Warn("Catalyst started without valid total difficulty")
|
||||||
}
|
}
|
||||||
return &ConsensusAPI{les: les}
|
return &ConsensusAPI{les: les}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user