NethermindEth / nethermind

A robust execution client for Ethereum node operators.
https://nethermind.io/nethermind-client
GNU General Public License v3.0
1.24k stars 430 forks source link

ValidatorContract.GetValidators returned error 'OutOfGas' at block 0 #5480

Open msbachler opened 1 year ago

msbachler commented 1 year ago

On Ubuntu 20.4 using Nethermind version 1.17.2

We are trying to setup a Netheremind node with Aura POA to test syncing it to our existing OpenEthereum private chain. We have a Validator Contract in the spec.json. When we run it to start up the chain we are getting an odd error:

at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread). ---> Nethermind.Abi.AbiException: System call to ValidatorContract.GetValidators returned error 'OutOfGas' at block 0.  

This is triggered by:

at Nethermind.Consensus.AuRa.Contracts.ValidatorContract.GetValidators(BlockHeader parentHeader)  

(full log below)

We were trying to understand which account exactly is out of gas at the point it is trying to get the initial validator list from the contract as a getter call does not usually require gas anyway.

Our full spec_aura.json file is:

{ "name": "KMiPoA", "engine": { "authorityRound": { "params": { "stepDuration": "5", "validators": { "safeContract": "0x0000000000000000000000000000000000000005" } } } }, "params": { "gasLimitBoundDivisor": "0x400", "maximumExtraDataSize": "0x20", "minGasLimit": "0x1388", "networkID" : "0x4BF", "eip140Transition": "0x0", "eip211Transition": "0x0", "eip214Transition": "0x0", "eip658Transition": "0x0", "eip145Transition": "0x0", "eip1014Transition": "0x0", "eip1052Transition": "0x0", "eip1283Transition": "0x0", "eip1344Transition": "0x0", "eip1706Transition": "0x0", "eip1884Transition": "0x0", "eip2028Transition": "0x0" }, "genesis": { "seal": { "authorityRound": { "step": "0x0", "signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } }, "difficulty": "0x20000", "gasLimit": "0x5B8D80" }, "accounts": { "0x0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } }, "0x0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } }, "0x0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } }, "0x0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
"0x0000000000000000000000000000000000000005": { "balance": "1", "constructor":"0x60806040526040518060200160405280725e6478c5f01671f632d987e1ae862c570b7fb873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600090600162000064929190620002f1565b5060405180602001604052806040518060400160405280600e81526020017f436f6e7472616374204f776e65720000000000000000000000000000000000008152508152506001906001620000bb92919062000380565b506040518060200160405280725e6478c5f01671f632d987e1ae862c570b7fb873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525060029060016200011c929190620002f1565b5060405180602001604052806040518060400160405280600e81526020017f436f6e7472616374204f776e657200000000000000000000000000000000000081525081525060039060016200017392919062000380565b506040518060200160405280725e6478c5f01671f632d987e1ae862c570b7fb873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506004906001620001d4929190620002f1565b5060405180602001604052806040518060400160405280600e81526020017f436f6e7472616374204f776e657200000000000000000000000000000000000081525081525060059060016200022b92919062000380565b5060146007553480156200023e57600080fd5b5060016006600060026000815481106200025457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860006101000a81548160ff02191690831515021790555062000559565b8280548282559060005260206000209081019282156200036d579160200282015b828111156200036c5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000312565b5b5090506200037c9190620003e7565b5090565b828054828255906000526020600020908101928215620003d4579160200282015b82811115620003d3578251829080519060200190620003c29291906200042d565b5091602001919060010190620003a1565b5b509050620003e39190620004b4565b5090565b6200042a91905b808211156200042657600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101620003ee565b5090565b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200047057805160ff1916838001178555620004a1565b82800160010185558215620004a1579182015b82811115620004a057825182559160200191906001019062000483565b5b509050620004b09190620004e5565b5090565b620004e291905b80821115620004de5760008181620004d491906200050d565b50600101620004bb565b5090565b90565b6200050a91905b8082111562000506576000816000905550600101620004ec565b5090565b90565b50805460018160011615610100020316600290046000825580601f1062000535575062000556565b601f016020900490600052602060002090810190620005559190620004e5565b5b50565b61298d80620005696000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806382daa345116100b8578063d16856ca1161007c578063d16856ca146107c3578063d397487a1461089e578063d69f13bb14610945578063ed260c1214610993578063ee38e21514610a6e578063eebc7a3914610b1557610137565b806382daa3451461058a578063b048e05614610631578063b3f05b971461069f578063b7ab4db5146106c1578063c476dd401461072057610137565b806331ae450b116100ff57806331ae450b1461035b57806336207b2d146103ba57806340a141ff1461046157806363e2a232146104a5578063752862111461058057610137565b80630c8578051461013c57806311117fc81461015a5780631785f53c146101c85780631bb456231461022457806324d7806c146102ff575b600080fd5b610144610b74565b6040518082815260200191505060405180910390f35b6101866004803603602081101561017057600080fd5b8101908080359060200190929190505050610b7a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61020a600480360360208110156101de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bb6565b604051808215151515815260200191505060405180910390f35b6102fd6004803603604081101561023a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561027757600080fd5b82018360208201111561028957600080fd5b803590602001918460018302840111640100000000831117156102ab57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610ee1565b005b6103416004803603602081101561031557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111b7565b604051808215151515815260200191505060405180910390f35b6103636111d7565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156103a657808201518184015260208101905061038b565b505050509050019250505060405180910390f35b6103e6600480360360208110156103d057600080fd5b8101908080359060200190929190505050611265565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561042657808201518184015260208101905061040b565b50505050905090810190601f1680156104535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104a36004803603602081101561047757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131e565b005b61057e600480360360408110156104bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104f857600080fd5b82018360208201111561050a57600080fd5b8035906020019184600183028401116401000000008311171561052c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506115e6565b005b610588611889565b005b6105b6600480360360208110156105a057600080fd5b81019080803590602001909291905050506119dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105f65780820151818401526020810190506105db565b50505050905090810190601f1680156106235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61065d6004803603602081101561064757600080fd5b8101908080359060200190929190505050611aa7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106a7611ae3565b604051808215151515815260200191505060405180910390f35b6106c9611af6565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561070c5780820151818401526020810190506106f1565b505050509050019250505060405180910390f35b6107c16004803603606081101561073657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561077d57600080fd5b82018360208201111561078f57600080fd5b803590602001918460018302840111640100000000831117156107b157600080fd5b9091929391929390505050611b84565b005b61089c600480360360408110156107d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561081657600080fd5b82018360208201111561082857600080fd5b8035906020019184600183028401116401000000008311171561084a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611c7b565b005b6108ca600480360360208110156108b457600080fd5b8101908080359060200190929190505050611f6e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561090a5780820151818401526020810190506108ef565b50505050905090810190601f1680156109375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109916004803603604081101561095b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612027565b005b610a6c600480360360408110156109a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156109e657600080fd5b8201836020820111156109f857600080fd5b80359060200191846001830284011164010000000083111715610a1a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506120e8565b005b610a9a60048036036020811015610a8457600080fd5b810190808035906020019092919050505061239e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ada578082015181840152602081019050610abf565b50505050905090810190601f168015610b075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610b1d612468565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610b60578082015181840152602081019050610b45565b505050509050019250505060405180910390f35b60075481565b60028181548110610b8757fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c1557600080fd5b600080905060006002805490509050600092506001811115610ed757600191505b80821015610ed6578373ffffffffffffffffffffffffffffffffffffffff1660028381548110610c6257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ec957600160028054905003821015610da557600260016002805490500381548110610cce57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660028381548110610d0657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360016003805490500381548110610d6357fe5b9060005260206000200160038381548110610d7a57fe5b906000526020600020019080546001816001161561010002031660029004610da39291906125dd565b505b6002805480919060019003610dba9190612664565b506003805480919060019003610dd09190612690565b50600192506000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fedbf84ad6d9444bd2820ff443e5a48c589f1b441420360448a2a0b94d66c4a128433604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610ed6565b8180600101925050610c36565b5b8292505050919050565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610f3e57600080fd5b60011515600860009054906101000a900460ff16151514610f5e57600080fd5b6000600190503373ffffffffffffffffffffffffffffffffffffffff166002600081548110610f8957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610fd557600090505b6001811415610ff157600160008054905011610ff057600080fd5b5b60008190505b6000805490508110156111b1578373ffffffffffffffffffffffffffffffffffffffff166000828154811061102857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111a457826001828154811061107d57fe5b90600052602060002001908051906020019061109a9291906126bc565b507fba15a29b24c7092407761a0ee12b2f50d4d09153333116517036f364adfd53de848433604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611163578082015181840152602081019050611148565b50505050905090810190601f1680156111905780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16111b1565b8080600101915050610ff7565b50505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6060600280548060200260200160405190810160405280929190818152602001828054801561125b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611211575b5050505050905090565b6001818154811061127257fe5b906000526020600020016000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113165780601f106112eb57610100808354040283529160200191611316565b820191906000526020600020905b8154815290600101906020018083116112f957829003601f168201915b505050505081565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461137b57600080fd5b600160048054905011156115e3576000600190505b6004805490508110156115e1578173ffffffffffffffffffffffffffffffffffffffff16600482815481106113c157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156115d4576001600480549050038110156115045760046001600480549050038154811061142d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004828154811061146557fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005600160058054905003815481106114c257fe5b90600052602060002001600582815481106114d957fe5b9060005260206000200190805460018160011615610100020316600290046115029291906125dd565b505b60048054809190600190036115199190612664565b50600580548091906001900361152f9190612690565b507fb45f422cd5a4a7363b7d0966c180df52ec2c4246d42a4726a14a5a93063123128233604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16115cf6124f6565b6115e1565b8080600101915050611390565b505b50565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461164357600080fd5b60008090505b6004805490508110156116d3578273ffffffffffffffffffffffffffffffffffffffff166004828154811061167a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116c657600080fd5b8080600101915050611649565b5060048290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060058190806001815401808255809150509060018203906000526020600020016000909192909190915090805190602001906117779291906126bc565b50507f58508ebbfede7d091c1dcffe50287928341126ca6cb873f82f54d9b63a709da2828233604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611841578082015181840152602081019050611826565b50505050905090810190601f16801561186e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16118856124f6565b5050565b73fffffffffffffffffffffffffffffffffffffffe73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156118e55750600860009054906101000a900460ff16155b6118ee57600080fd5b6004600090805461190092919061273c565b506005600190805461191392919061278e565b506001600860006101000a81548160ff0219169083151502179055507f8564cd629b15f47dc310d45bcbfc9bcf5420b0d51bf0659a16c67f91d27632536000604051808060200182810382528381815481526020019150805480156119cd57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611983575b50509250505060405180910390a1565b606060018054905082106119f057600080fd5b600182815481106119fd57fe5b906000526020600020018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a9b5780601f10611a7057610100808354040283529160200191611a9b565b820191906000526020600020905b815481529060010190602001808311611a7e57829003601f168201915b50505050509050919050565b60008181548110611ab457fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900460ff1681565b60606000805480602002602001604051908101604052809291908181526020018280548015611b7a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611b30575b5050505050905090565b8260075481014311158015611b9857504381105b611ba157600080fd5b7f54749eb7590a0e40dd06dc6da9ab95ff11098ebd50528ccf8705abee1f51e3a73386868686604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611cd857600080fd5b60008090505b600280549050811015611d68578273ffffffffffffffffffffffffffffffffffffffff1660028281548110611d0f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d5b57600080fd5b8080600101915050611cde565b5060028290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506003819080600181540180825580915050906001820390600052602060002001600090919290919091509080519060200190611e0c9291906126bc565b50506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3878b72c985d90cb8cf09b09040a6ab8d950d3b8a2c561761acd716745b47eee828233604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611f2e578082015181840152602081019050611f13565b50505050905090810190601f168015611f5b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60038181548110611f7b57fe5b906000526020600020016000915090508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561201f5780601f10611ff45761010080835404028352916020019161201f565b820191906000526020600020905b81548152906001019060200180831161200257829003601f168201915b505050505081565b806007548101431115801561203b57504381105b61204457600080fd5b7f71f9582cfad8bd749f39b759200541b0c57918a817f80fbaeea7f15ed6496cd1338484604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461214557600080fd5b6000600190503373ffffffffffffffffffffffffffffffffffffffff16600260008154811061217057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156121bc57600090505b60018114156121d8576001600280549050116121d757600080fd5b5b60008190505b600280549050811015612398578373ffffffffffffffffffffffffffffffffffffffff166002828154811061220f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561238b57826003828154811061226457fe5b9060005260206000200190805190602001906122819291906126bc565b507ff98679ba468d2d555fad16dd78caafb0f4d7ad22ccf7de5db6cb3e07371974a3848433604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b8381101561234a57808201518184015260208101905061232f565b50505050905090810190601f1680156123775780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1612398565b80806001019150506121de565b50505050565b606060038054905082106123b157600080fd5b600382815481106123be57fe5b906000526020600020018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561245c5780601f106124315761010080835404028352916020019161245c565b820191906000526020600020905b81548152906001019060200180831161243f57829003601f168201915b50505050509050919050565b606060048054806020026020016040519081016040528092919081815260200182805480156124ec57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116124a2575b5050505050905090565b600860009054906101000a900460ff1661250f57600080fd5b6000600860006101000a81548160ff02191690831515021790555060014303407f55252fa6eee4741b4e24a74a70e9c11fd2c2281df8d6ea13126ff845f7825c896004604051808060200182810382528381815481526020019150805480156125cd57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612583575b50509250505060405180910390a2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106126165780548555612653565b8280016001018555821561265357600052602060002091601f016020900482015b82811115612652578254825591600101919060010190612637565b5b50905061266091906127fe565b5090565b81548183558181111561268b5781836000526020600020918201910161268a91906127fe565b5b505050565b8154818355818111156126b7578183600052602060002091820191016126b69190612823565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106126fd57805160ff191683800117855561272b565b8280016001018555821561272b579182015b8281111561272a57825182559160200191906001019061270f565b5b50905061273891906127fe565b5090565b82805482825590600052602060002090810192821561277d5760005260206000209182015b8281111561277c578254825591600101919060010190612761565b5b50905061278a919061284f565b5090565b8280548282559060005260206000209081019282156127ed5760005260206000209182015b828111156127ec57828290805460018160011615610100020316600290046127dc929190612892565b50916001019190600101906127b3565b5b5090506127fa9190612823565b5090565b61282091905b8082111561281c576000816000905550600101612804565b5090565b90565b61284c91905b80821115612848576000818161283f9190612919565b50600101612829565b5090565b90565b61288f91905b8082111561288b57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101612855565b5090565b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106128cb5780548555612908565b8280016001018555821561290857600052602060002091601f016020900482015b828111156129075782548255916001019190600101906128ec565b5b50905061291591906127fe565b5090565b50805460018160011615610100020316600290046000825580601f1061293f575061295e565b601f01602090049060005260206000209081019061295d91906127fe565b5b5056fea165627a7a723058204ff791d59e7d73ab11ead1b5c53012ccfa7c066c4ecf9373b99453e9313014110029"}, "0000000000000000000000000000000000000006": { "builtin": { "name": "modexp", "activate_at": "0x0", "pricing": { "modexp": { "divisor": 20 } } } }, "0000000000000000000000000000000000000007": { "builtin": { "name": "alt_bn128_add", "activate_at": "0x0", "pricing": { "linear": { "base": 500, "word": 0 } } } }, "0000000000000000000000000000000000000008": { "builtin": { "name": "alt_bn128_mul", "pricing": { "0": { "price": { "alt_bn128_const_operations": { "price": 40000 } } }, "0x0": { "info": "Istanbul HF", "price": { "alt_bn128_const_operations": { "price": 6000 } } } } } }, "0000000000000000000000000000000000000009": { "builtin": { "name": "alt_bn128_pairing", "pricing": { "0x0": { "info": "Istanbul HF", "price": { "alt_bn128_pairing": { "base": 45000, "pair": 34000 } } } } } },
"0x0000000000000000000000000000000000000010": { "builtin": { "name": "blake2_f", "pricing": { "0x0": { "info": "Istanbul HF", "price": { "blake2_f": { "gas_per_round": 1 } } } } } },
"0x00dA4f6012205bfD396942e65Ee7C76d8d69Cf2A": { "balance": "16069380442589902755419620923411626025222029937827928353013760"} } }

Our current config file is:

{ "Init": { "ChainSpecPath": "/data/nethermind/spec_aura.json", "BaseDbPath": "/data/nethermind/nodedata/aura", "DiscoveryEnabled": true, "IsMining": false, "LogDirectory": "/data/nethermind/logs", "LogFileName": "logs_aura.txt", "StaticNodesPath": "/data/nethermind/static-nodes-aura.json", "WebSocketsEnabled": true }, "Network": { "P2PPort": 55206, "DiscoveryPort": 55206 }, "Keystore": { "BlockAuthorAccount":"0x7d9d27bf5b722cffea1f7c89c4ca2660bf1d8550", "KeyStoreDirectory":"/data/nethermind/keystore", "UnlockAccounts":["0x7d9d27bf5b722cffea1f7c89c4ca2660bf1d8550"], "Passwords":["test1"] }, "JsonRpc": { "Enabled": true, "EnabledModules": ["Eth", "Subscribe", "Trace", "TxPool", "Web3", "Personal", "Proof", "Net", "Parity", "Health", "Rpc"], "EngineEnabledModules": ["Eth", "Subscribe", "Trace", "TxPool", "Web3", "Personal", "Proof", "Net", "Parity", "Health", "Rpc"], "EngineHost": "127.0.0.1", "Host": "127.0.0.1", "Port": 55200, "WebSocketsPort": 56000 }, "EthStats": { "Name": "KMi NetherMind Node 01" }, "Metrics": { "NodeName": "NetherMind01" }, "Aura": { "AllowAuRaPrivateChains": true,       "ForceSealing": true } }

Log file entries for the run:

2023-03-22 12:11:38.4132|INFO|1|RocksDb Version: 7.7.3 2023-03-22 12:11:38.4260|INFO|1|Did not find chainspec in embedded resources: /data/nethermind/spec_aura.json 2023-03-22 12:11:38.4260|INFO|1|Loading chainspec from file: /data/nethermind/specaura.json 2023-03-22 12:11:39.0209|INFO|6|CPU: Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz (1C1T), 2593Mhz - 0Mhz 2023-03-22 12:11:39.0470|INFO|8|Using http://ipv4.icanhazip.com to get external ip 2023-03-22 12:11:40.8881|INFO|10|Loaded LowestInsertedBeaconHeader:
2023-03-22 12:11:40.8988|INFO|10|Numbers resolved, level = Max(0, 0), header = Max(0, 0), body = Max(0, 0) 2023-03-22 12:11:40.8988|INFO|10|Beacon Numbers resolved, level = 0, header = 0, body = 0 2023-03-22 12:11:40.8988|INFO|10|Block tree initialized, last processed is 0, best queued is 0, best known is 0, lowest inserted header , body , lowest sync inserted block number
2023-03-22 12:11:40.9077|INFO|6|Initializing 13 plugins 2023-03-22 12:11:40.9077|INFO|6| Clique by Nethermind 2023-03-22 12:11:40.9077|INFO|6| Clique by Nethermind initialized in 0ms 2023-03-22 12:11:40.9077|INFO|6| AuRa by Nethermind 2023-03-22 12:11:40.9077|INFO|6| AuRa by Nethermind initialized in 0ms 2023-03-22 12:11:40.9077|INFO|6| Ethash by Nethermind 2023-03-22 12:11:40.9077|INFO|6| Ethash by Nethermind initialized in 0ms 2023-03-22 12:11:40.9077|INFO|6| NethDev by Nethermind 2023-03-22 12:11:40.9100|INFO|6| NethDev by Nethermind initialized in 0ms 2023-03-22 12:11:40.9100|INFO|6| AuRaMerge by Nethermind 2023-03-22 12:11:40.9194|INFO|6|Client started with TTD: , TTD reached: False, Terminal Block Number , FinalTotalDifficulty:
2023-03-22 12:11:40.9194|INFO|6| AuRaMerge by Nethermind initialized in 11ms 2023-03-22 12:11:40.9194|INFO|6| Merge by Nethermind 2023-03-22 12:11:40.9222|INFO|6| Merge by Nethermind initialized in 0ms 2023-03-22 12:11:40.9222|INFO|6| MEV by Nethermind 2023-03-22 12:11:40.9222|INFO|6| MEV by Nethermind initialized in 0ms 2023-03-22 12:11:40.9222|INFO|6| HealthChecks by Nethermind 2023-03-22 12:11:40.9222|INFO|6| HealthChecks by Nethermind initialized in 0ms 2023-03-22 12:11:40.9222|INFO|6| Hive by Nethermind 2023-03-22 12:11:40.9222|INFO|6| Hive by Nethermind initialized in 0ms 2023-03-22 12:11:40.9222|INFO|6| Account Abstraction by Nethermind 2023-03-22 12:11:40.9259|INFO|6| Account Abstraction Plugin: User Operation Mining Disabled 2023-03-22 12:11:40.9259|INFO|6| Account Abstraction by Nethermind initialized in 1ms 2023-03-22 12:11:40.9259|INFO|6| EthStats by Nethermind 2023-03-22 12:11:40.9259|WARN|6|EthStatsPlugin plugin disabled due to EthStatsConfig settings set to false 2023-03-22 12:11:40.9259|INFO|6| EthStats by Nethermind initialized in 1ms 2023-03-22 12:11:40.9259|INFO|6| TraceStore by Nethermind 2023-03-22 12:11:40.9259|INFO|6| TraceStore by Nethermind initialized in 0ms 2023-03-22 12:11:40.9259|INFO|6| UPnP by Nethermind 2023-03-22 12:11:40.9259|INFO|6| UPnP by Nethermind initialized in 0ms 2023-03-22 12:11:41.2826|WARN|15|Processing loop threw an exception. Block: 0 (0x8d65a3...e31687), Exception: Nethermind.Consensus.AuRa.AuRaException: Failed to initialize validators list on block 0 (0x8d65a358a98a835cece7104958d504228959b16e4095c52e75af13c103e31687) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.LoadValidatorsFromContract(BlockHeader parentHeader) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.OnBlockProcessingEnd(Block block, TxReceipt[] receipts, ProcessingOptions options) at Nethermind.Consensus.AuRa.AuRaBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Merge.AuRa.AuRaMergeBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Consensus.Processing.BlockProcessor.ProcessOne(Block suggestedBlock, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockProcessor.Process(Keccak newBranchStateRoot, List1 suggestedBlocks, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockchainProcessor.ProcessBranch(ProcessingBranch processingBranch, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.Process(Block suggestedBlock, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.RunProcessingLoop() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) . ---> Nethermind.Abi.AbiException: System call to ValidatorContract.GetValidators returned error 'OutOfGas' at block 0. at Nethermind.Blockchain.Contracts.Contract.CallCore(ITransactionProcessor transactionProcessor, BlockHeader header, String functionName, Transaction transaction, Boolean callAndRestore) at Nethermind.Blockchain.Contracts.Contract.ConstantContractBase.CallCore(CallInfo callInfo, IReadOnlyTransactionProcessor readOnlyTransactionProcessor, Transaction transaction) at Nethermind.Blockchain.Contracts.Contract.ConstantContract.CallRaw(CallInfo callInfo, IReadOnlyTransactionProcessor readOnlyTransactionProcessor) at Nethermind.Blockchain.Contracts.Contract.ConstantContract.Call(CallInfo callInfo) at Nethermind.Blockchain.Contracts.Contract.IConstantContract.Call[T](CallInfo callInfo) at Nethermind.Blockchain.Contracts.Contract.IConstantContract.Call[T](BlockHeader parentHeader, String functionName, Address sender, Object[] arguments) at Nethermind.Consensus.AuRa.Contracts.ValidatorContract.GetValidators(BlockHeader parentHeader) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.LoadValidatorsFromContract(BlockHeader parentHeader) --- End of inner exception stack trace --- at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.LoadValidatorsFromContract(BlockHeader parentHeader) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.OnBlockProcessingEnd(Block block, TxReceipt[] receipts, ProcessingOptions options) at Nethermind.Consensus.AuRa.AuRaBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Merge.AuRa.AuRaMergeBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Consensus.Processing.BlockProcessor.ProcessOne(Block suggestedBlock, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockProcessor.Process(Keccak newBranchStateRoot, List1 suggestedBlocks, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockchainProcessor.ProcessBranch(ProcessingBranch processingBranch, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.Process(Block suggestedBlock, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.RunProcessingLoop() 2023-03-22 12:12:21.2520|ERROR|6|Step LoadGenesisBlockAuRa failed after 40129ms Nethermind.Blockchain.BlockchainException: Genesis block processing failure at Nethermind.Init.Steps.LoadGenesisBlock.Load() at Nethermind.Consensus.AuRa.InitializationSteps.LoadGenesisBlockAuRa.Load() at Nethermind.Init.Steps.LoadGenesisBlock.Execute(CancellationToken
) at Nethermind.Init.Steps.EthereumStepsManager.ExecuteStep(IStep step, StepInfo stepInfo, CancellationToken cancellationToken) 2023-03-22 12:12:21.2721|INFO|6|Loaded Beacon Pivot:
2023-03-22 12:12:21.4272|INFO|16|Loaded 8 static nodes from file: /data/nethermind/static-nodes-aura.json 2023-03-22 12:12:21.4991|INFO|16|Skipping Account Abstraction network protocol 2023-03-22 12:12:21.5444|WARN|29|No bootnodes specified in configuration 2023-03-22 12:12:21.5520|INFO|29|BloomDb migration disabled. Finding logs in first 0 blocks might be slow. 2023-03-22 12:12:21.5571|INFO|29|Found no blocks to load from DB 2023-03-22 12:12:21.5779|INFO|29|Loaded LowestInsertedBeaconHeader:
2023-03-22 12:12:21.5780|INFO|29|Numbers resolved, level = Max(0, 0), header = Max(0, 0), body = Max(0, 0) 2023-03-22 12:12:21.5780|INFO|29|Beacon Numbers resolved, level = 0, header = 0, body = 0 2023-03-22 12:12:21.5780|WARN|15|Processing loop threw an exception. Block: 0 (0xd4f5da...0fe27c), Exception: Nethermind.Consensus.AuRa.AuRaException: Failed to initialize validators list on block 0 (0x8d65a358a98a835cece7104958d504228959b16e4095c52e75af13c103e31687) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.LoadValidatorsFromContract(BlockHeader parentHeader) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.OnBlockProcessingEnd(Block block, TxReceipt[] receipts, ProcessingOptions options) at Nethermind.Consensus.AuRa.AuRaBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Merge.AuRa.AuRaMergeBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Consensus.Processing.BlockProcessor.ProcessOne(Block suggestedBlock, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockProcessor.Process(Keccak newBranchStateRoot, List1 suggestedBlocks, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockchainProcessor.ProcessBranch(ProcessingBranch processingBranch, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.Process(Block suggestedBlock, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.RunProcessingLoop() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) . ---> Nethermind.Abi.AbiException: System call to ValidatorContract.GetValidators returned error 'OutOfGas' at block 0. at Nethermind.Blockchain.Contracts.Contract.CallCore(ITransactionProcessor transactionProcessor, BlockHeader header, String functionName, Transaction transaction, Boolean callAndRestore) at Nethermind.Blockchain.Contracts.Contract.ConstantContractBase.CallCore(CallInfo callInfo, IReadOnlyTransactionProcessor readOnlyTransactionProcessor, Transaction transaction) at Nethermind.Blockchain.Contracts.Contract.ConstantContract.CallRaw(CallInfo callInfo, IReadOnlyTransactionProcessor readOnlyTransactionProcessor) at Nethermind.Blockchain.Contracts.Contract.ConstantContract.Call(CallInfo callInfo) at Nethermind.Blockchain.Contracts.Contract.IConstantContract.Call[T](CallInfo callInfo) at Nethermind.Blockchain.Contracts.Contract.IConstantContract.Call[T](BlockHeader parentHeader, String functionName, Address sender, Object[] arguments) at Nethermind.Consensus.AuRa.Contracts.ValidatorContract.GetValidators(BlockHeader parentHeader) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.LoadValidatorsFromContract(BlockHeader parentHeader) --- End of inner exception stack trace --- at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.LoadValidatorsFromContract(BlockHeader parentHeader) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.OnBlockProcessingEnd(Block block, TxReceipt[] receipts, ProcessingOptions options) at Nethermind.Consensus.AuRa.AuRaBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Merge.AuRa.AuRaMergeBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Consensus.Processing.BlockProcessor.ProcessOne(Block suggestedBlock, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockProcessor.Process(Keccak newBranchStateRoot, List1 suggestedBlocks, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockchainProcessor.ProcessBranch(ProcessingBranch processingBranch, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.Process(Block suggestedBlock, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.RunProcessingLoop() 2023-03-22 12:12:21.5780|WARN|15|Processing loop threw an exception. Block: 0 (0x8d65a3...e31687), Exception: Nethermind.Consensus.AuRa.AuRaException: Failed to initialize validators list on block 0 (0x8d65a358a98a835cece7104958d504228959b16e4095c52e75af13c103e31687) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.LoadValidatorsFromContract(BlockHeader parentHeader) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.OnBlockProcessingEnd(Block block, TxReceipt[] receipts, ProcessingOptions options) at Nethermind.Consensus.AuRa.AuRaBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Merge.AuRa.AuRaMergeBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Consensus.Processing.BlockProcessor.ProcessOne(Block suggestedBlock, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockProcessor.Process(Keccak newBranchStateRoot, List1 suggestedBlocks, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockchainProcessor.ProcessBranch(ProcessingBranch processingBranch, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.Process(Block suggestedBlock, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.RunProcessingLoop() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) . ---> Nethermind.Abi.AbiException: System call to ValidatorContract.GetValidators returned error 'OutOfGas' at block 0. at Nethermind.Blockchain.Contracts.Contract.CallCore(ITransactionProcessor transactionProcessor, BlockHeader header, String functionName, Transaction transaction, Boolean callAndRestore) at Nethermind.Blockchain.Contracts.Contract.ConstantContractBase.CallCore(CallInfo callInfo, IReadOnlyTransactionProcessor readOnlyTransactionProcessor, Transaction transaction) at Nethermind.Blockchain.Contracts.Contract.ConstantContract.CallRaw(CallInfo callInfo, IReadOnlyTransactionProcessor readOnlyTransactionProcessor) at Nethermind.Blockchain.Contracts.Contract.ConstantContract.Call(CallInfo callInfo) at Nethermind.Blockchain.Contracts.Contract.IConstantContract.Call[T](CallInfo callInfo) at Nethermind.Blockchain.Contracts.Contract.IConstantContract.Call[T](BlockHeader parentHeader, String functionName, Address sender, Object[] arguments) at Nethermind.Consensus.AuRa.Contracts.ValidatorContract.GetValidators(BlockHeader parentHeader) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.LoadValidatorsFromContract(BlockHeader parentHeader) --- End of inner exception stack trace --- at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.LoadValidatorsFromContract(BlockHeader parentHeader) at Nethermind.Consensus.AuRa.Validators.ContractBasedValidator.OnBlockProcessingEnd(Block block, TxReceipt[] receipts, ProcessingOptions options) at Nethermind.Consensus.AuRa.AuRaBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Merge.AuRa.AuRaMergeBlockProcessor.ProcessBlock(Block block, IBlockTracer blockTracer, ProcessingOptions options) at Nethermind.Consensus.Processing.BlockProcessor.ProcessOne(Block suggestedBlock, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockProcessor.Process(Keccak newBranchStateRoot, List1 suggestedBlocks, ProcessingOptions options, IBlockTracer blockTracer) at Nethermind.Consensus.Processing.BlockchainProcessor.ProcessBranch(ProcessingBranch processingBranch, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.Process(Block suggestedBlock, ProcessingOptions options, IBlockTracer tracer) at Nethermind.Consensus.Processing.BlockchainProcessor.RunProcessingLoop() 2023-03-22 12:12:21.5870|INFO|29|Grafana / Prometheus metrics are disabled in configuration 2023-03-22 12:12:21.6110|INFO|29|Starting Merge block producer & sealer 2023-03-22 12:12:22.2840|INFO|8|Peers | with known best block: 0 | all: 0 | 2023-03-22 12:12:22.2840|INFO|8|Waiting for peers... 1s 2023-03-22 12:12:22.2885|INFO|8|Sync peers - Initialized: 0 | All: 0 | Max: 50 2023-03-22 12:12:23.2869|INFO|8|Waiting for peers... 2s 2023-03-22 12:12:24.2840|INFO|13|Waiting for peers... 3s 2023-03-22 12:12:25.2865|INFO|13|Waiting for peers... 4s 2023-03-22 12:12:26.2863|INFO|13|Waiting for peers... 5s 2023-03-22 12:12:26.6918|INFO|34|Engine Module has been enabled 2023-03-22 12:12:26.6918|INFO|34|Skipping Flashbots RPC plugin 2023-03-22 12:12:26.6984|INFO|34|Skipping Account Abstraction RPC plugin 2023-03-22 12:12:26.6984|WARN|34|Starting AuRa block producer & sealer 2023-03-22 12:12:26.8094|ERROR|34|Error during ethereum runner start Nethermind.Blockchain.BlockchainException: Genesis block processing failure at Nethermind.Init.Steps.LoadGenesisBlock.Load() at Nethermind.Consensus.AuRa.InitializationSteps.LoadGenesisBlockAuRa.Load() at Nethermind.Init.Steps.LoadGenesisBlock.Execute(CancellationToken _) at Nethermind.Init.Steps.EthereumStepsManager.ExecuteStep(IStep step, StepInfo stepInfo, CancellationToken cancellationToken) at Nethermind.Init.Steps.EthereumStepsManager.InitializeAll(CancellationToken cancellationToken) at Nethermind.Runner.Ethereum.EthereumRunner.Start(CancellationToken cancellationToken) at Nethermind.Runner.Program.<>cDisplayClass10_0.<b1>d.MoveNext() 2023-03-22 12:12:26.8094|INFO|34|Closing, please wait until all functions are stopped properly... 2023-03-22 12:12:26.8119|INFO|34|Stopping session monitor... 2023-03-22 12:12:26.8119|INFO|34|Stopping session sync mode selector... 2023-03-22 12:12:26.8119|INFO|34|Sync mode selector stopped 2023-03-22 12:12:26.8119|INFO|34|Stopping discovery app... 2023-03-22 12:12:26.8169|INFO|34|Stopping discovery udp channel 2023-03-22 12:12:26.8184|INFO|34|Stopping block producer... 2023-03-22 12:12:26.8184|INFO|6|Discovery shutdown complete.. please wait for all components to close 2023-03-22 12:12:26.8184|INFO|34|Stopping sync peer pool... 2023-03-22 12:12:26.8184|INFO|34|Stopping peer pool... 2023-03-22 12:12:26.8221|INFO|34|Peer Pool shutdown complete.. please wait for all components to close 2023-03-22 12:12:26.8221|INFO|34|Stopping peer manager... 2023-03-22 12:12:26.8221|INFO|34|Peer Manager shutdown complete.. please wait for all components to close 2023-03-22 12:12:26.8221|INFO|34|Stopping synchronizer... 2023-03-22 12:12:26.8221|INFO|32|Peer update loop canceled 2023-03-22 12:12:26.8266|INFO|34|BeaconHeadersSyncDispatcher has finished work. 2023-03-22 12:12:26.8266|INFO|34|MergeBlockDownloader has finished work. 2023-03-22 12:12:26.8266|INFO|34|Stopping blockchain processor... 2023-03-22 12:12:26.8307|INFO|13|Beacon headers task completed. 2023-03-22 12:12:26.8307|INFO|28|Full sync block downloader task completed. 2023-03-22 12:12:26.8307|INFO|34|Stopping rlpx peer... 2023-03-22 12:12:26.8307|INFO|16|Blockchain Processor shutdown complete.. please wait for all components to close 2023-03-22 12:12:27.2842|INFO|37|Waiting for peers... 6s 2023-03-22 12:12:27.8400|INFO|6|Local peer shutdown complete.. please wait for all components to close 2023-03-22 12:12:27.8400|INFO|6|Disposing plugin Clique... 2023-03-22 12:12:27.8400|INFO|6|Disposing plugin AuRa... 2023-03-22 12:12:27.8400|INFO|6|Disposing plugin Ethash... 2023-03-22 12:12:27.8400|INFO|6|Disposing plugin NethDev... 2023-03-22 12:12:27.8400|INFO|6|Disposing plugin AuRaMerge... 2023-03-22 12:12:27.8400|INFO|6|Disposing plugin Merge... 2023-03-22 12:12:27.8400|INFO|6|Disposing plugin MEV... 2023-03-22 12:12:27.8400|INFO|6|Disposing plugin HealthChecks... 2023-03-22 12:12:27.8433|INFO|6|Disposing plugin Hive... 2023-03-22 12:12:27.8433|INFO|6|Disposing plugin Account Abstraction... 2023-03-22 12:12:27.8433|INFO|6|Disposing plugin EthStats... 2023-03-22 12:12:27.8433|INFO|6|Disposing plugin TraceStore... 2023-03-22 12:12:27.8433|INFO|6|Disposing plugin UPnP... 2023-03-22 12:12:27.8433|INFO|6|Disposing Nethermind.Runner.JsonRpc.JsonRpcIpcRunner... 2023-03-22 12:12:27.8433|INFO|6|IPC JSON RPC service stopped 2023-03-22 12:12:27.8433|INFO|6|Disposing Nethermind.Core.Reactive+AnonymousDisposable... 2023-03-22 12:12:27.8511|INFO|6|Disposing Nethermind.Consensus.Producers.ProducedBlockSuggester... 2023-03-22 12:12:27.8511|INFO|6|Disposing Nethermind.Synchronization.SyncServer... 2023-03-22 12:12:27.8511|INFO|6|Disposing Nethermind.Merge.Plugin.Synchronization.MergeSynchronizer... 2023-03-22 12:12:27.8511|INFO|33|JSON RPC service stopped 2023-03-22 12:12:27.8511|INFO|6|Disposing Nethermind.Synchronization.ParallelSync.MultiSyncModeSelector... 2023-03-22 12:12:27.8511|INFO|6|Disposing Nethermind.Merge.Plugin.Synchronization.PeerRefresher... 2023-03-22 12:12:27.8511|INFO|6|Disposing Nethermind.Synchronization.Peers.SyncPeerPool... 2023-03-22 12:12:27.8511|INFO|6|Disposing Nethermind.Blockchain.FullPruning.FullPruner... 2023-03-22 12:12:27.8540|INFO|6|Disposing ContractBasedValidator... 2023-03-22 12:12:27.8540|INFO|6|Disposing Nethermind.Blockchain.ReceiptCanonicalityMonitor... 2023-03-22 12:12:27.8540|INFO|6|Disposing Nethermind.Trie.Pruning.TrieStore... 2023-03-22 12:12:27.8540|INFO|6|Disposing Nethermind.Blockchain.TrieStoreBoundaryWatcher... 2023-03-22 12:12:27.8540|INFO|6|Disposing Nethermind.Blockchain.FullPruning.PruningTriggerPersistenceStrategy... 2023-03-22 12:12:27.8540|INFO|6|Disposing Nethermind.Merge.Plugin.InvalidChainTracker.InvalidChainTracker... 2023-03-22 12:12:27.8585|INFO|6|Disposing Nethermind.Db.Blooms.BloomStorage... 2023-03-22 12:12:27.8585|INFO|6|Disposing Nethermind.Stats.NodeStatsManager... 2023-03-22 12:12:27.8585|INFO|6|Disposing Nethermind.Crypto.CryptoRandom... 2023-03-22 12:12:27.8585|INFO|6|Closing DBs... 2023-03-22 12:12:27.8585|INFO|6|Disposing DB State0 2023-03-22 12:12:27.8667|INFO|6|Disposing DB Code 2023-03-22 12:12:27.8707|INFO|6|Disposing DB Witness 2023-03-22 12:12:27.8707|INFO|6|Disposing DB CanonicalHashTrie 2023-03-22 12:12:27.8707|INFO|6|Disposing DB Blocks 2023-03-22 12:12:27.8745|INFO|6|Disposing DB Receipts 2023-03-22 12:12:27.8745|INFO|6|Disposing DB Bloom 2023-03-22 12:12:27.8745|INFO|6|Disposing DB Metadata 2023-03-22 12:12:27.8745|INFO|6|Disposing DB BlockInfos 2023-03-22 12:12:27.8801|INFO|6|Disposing DB Headers 2023-03-22 12:12:27.8838|INFO|6|All DBs closed. 2023-03-22 12:12:27.8838|INFO|6|Ethereum shutdown complete... please wait for all components to close 2023-03-22 12:12:27.8838|INFO|6|All done, goodbye! 2023-03-22 12:37:12.1990|INFO|1|RocksDb Version: 7.7.3 2023-03-22 12:37:12.2193|INFO|1|Did not find chainspec in embedded resources: /data/nethermind/spec_aura.json 2023-03-22 12:37:12.2193|INFO|1|Loading chainspec from file: /data/nethermind/spec_aura.json 2023-03-22 12:37:12.7259|INFO|8|CPU: Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz (1C1T), 2593Mhz - 0Mhz 2023-03-22 12:37:12.7703|INFO|8|Using http://ipv4.icanhazip.com to get external ip 2023-03-22 12:37:13.8249|ERROR|13|Error during ethereum runner start System.Threading.Tasks.TaskCanceledException: A task was canceled. at Nethermind.Core.Extensions.WaitHandleExtensions.WaitOneAsync(WaitHandle handle, Int32 millisecondsTimeout, CancellationToken cancellationToken) at Nethermind.Init.Steps.EthereumStepsManager.ReviewDependencies(CancellationToken cancellationToken) at Nethermind.Init.Steps.EthereumStepsManager.InitializeAll(CancellationToken cancellationToken) at Nethermind.Runner.Ethereum.EthereumRunner.Start(CancellationToken cancellationToken) at Nethermind.Runner.Program.<>cDisplayClass10_0.<b1>d.MoveNext() 2023-03-22 12:37:13.8290|INFO|13|Closing, please wait until all functions are stopped properly... 2023-03-22 12:37:13.8365|INFO|13|Stopping session monitor... 2023-03-22 12:37:13.8365|INFO|13|Stopping session sync mode selector... 2023-03-22 12:37:13.8365|INFO|13|Stopping discovery app... 2023-03-22 12:37:13.8365|INFO|13|Stopping block producer... 2023-03-22 12:37:13.8365|INFO|13|Stopping sync peer pool... 2023-03-22 12:37:13.8380|INFO|13|Stopping peer pool... 2023-03-22 12:37:13.8380|INFO|13|Stopping peer manager... 2023-03-22 12:37:13.8380|INFO|13|Stopping synchronizer... 2023-03-22 12:37:13.8380|INFO|13|Stopping blockchain processor... 2023-03-22 12:37:13.8380|INFO|13|Stopping rlpx peer... 2023-03-22 12:37:13.8380|INFO|13|Disposing plugin Clique... 2023-03-22 12:37:13.8380|INFO|13|Disposing plugin AuRa... 2023-03-22 12:37:13.8380|INFO|13|Disposing plugin Ethash... 2023-03-22 12:37:13.8380|INFO|13|Disposing plugin NethDev... 2023-03-22 12:37:13.8380|INFO|13|Disposing plugin AuRaMerge... 2023-03-22 12:37:13.8380|INFO|13|Disposing plugin Merge... 2023-03-22 12:37:13.8380|INFO|13|Disposing plugin MEV... 2023-03-22 12:37:13.8380|INFO|13|Disposing plugin HealthChecks... 2023-03-22 12:37:13.8436|INFO|13|Disposing plugin Hive... 2023-03-22 12:37:13.8436|INFO|13|Disposing plugin Account Abstraction... 2023-03-22 12:37:13.8436|INFO|13|Disposing plugin EthStats... 2023-03-22 12:37:13.8436|INFO|13|Disposing plugin TraceStore...

Are we doing something really stupid? We can see from your repo that you have many other Aura chain specs with Validator Contracts in the spec that I assume work fine. So I can only assume we are missing a step somewhere.

Anyone have a clue why we are getting this out of gas error?

Thanks

deffrian commented 1 year ago

Hi @msbachler, I'm not really sure what you intended to do, but account 0x0000000000000000000000000000000000000005 is reserved to Modexp precompile.

msbachler commented 1 year ago

Ours is quite an old chain and we copied the original setup years ago from an early set of online instructions. I guess this may have been before that address was a reserved address? I am not sure. Perhaps the instructions we followed were just bad. So I guess we are a bit stuck then.

msbachler commented 1 year ago

Did some googling - it seem all address under 256 are reserved according to various EIP - though goerli seems to use some of them. I can only assume when we first added a validator contract, we copied the spec from somewhere duff. Our private networks all ran happy on Parity and then OpenEthereum using 0x5 for our validator contract. So we were blissfully unaware this was an issue. I guess those softwares were less strict about enforcement than Nethermind.

deffrian commented 1 year ago

This precompile is really old(from 2017). https://eips.ethereum.org/EIPS/eip-198. I think Parity and OpenEthereum support custom precompile addresses. As workaround you can try disabling this precompile if you don't need it.

msbachler commented 1 year ago

Thanks, we will give it a go.

msbachler commented 1 year ago

OK. I realise I have no idea how to 'disable this precompile'. I will do some googling. But if you read this and could shortcut my knowledge gain, that would be great!

deffrian commented 1 year ago

You can disable it by setting eip140Transition to big value. It doesn't work unfortunately. But error is different. I will try to investigate.

msbachler commented 1 year ago

Thank you so much for looking at this.

deffrian commented 1 year ago

P.S. it will disable also eip196,197,198,140 and 649. Currently we can't disable them one by one

deffrian commented 1 year ago

Oh, sorry, my bad. It works.

msbachler commented 1 year ago

Brilliant! So we will try setting eip140Transition to a very large number, and see what happens! Thank you for investigating this!

msbachler commented 1 year ago

Well it got passed the first issue above and runs now, but it can't connect to our existing chain. Netheremind thinks it is an invalid genesis:

Log of attempt to connect:

2023-05-03 11:57:12.5029|[Session|In|Initialized|137.108.130.148:40772->55206] received a message of length 204 (0 => p2p.0) 

2023-05-03 11:57:12.5029|OUT 00001 Hello(OpenEthereum/KMi Parity Node 02/v3.3.5-stable-6c2d392d8-20220405/x86_64-linux-gnu/rustc1.58.1, eth63, eth64, eth65, eth66, par1, par2) 

2023-05-03 11:57:12.5029|[Session|In|Initialized|137.108.130.148:40772->55206] P2P received hello. 

2023-05-03 11:57:12.5029|0x9cff8021ecebf96ac6af8c03c85a2523efce9040ad31c6748f5845d4130f68098c539e9d8d0c6b1d27e6f48ad9dfb9a42341803b10653d8c2abdd1790c74dc06 P2P initiating outbound p2p.5 on 55206 (OpenEthereum/KMi Parity Node 02/v3.3.5-stable-6c2d392d8-20220405/x86_64-linux-gnu/rustc1.58.1) 

2023-05-03 11:57:12.5029|0x9cff8021ecebf96ac6af8c03c85a2523efce9040ad31c6748f5845d4130f68098c539e9d8d0c6b1d27e6f48ad9dfb9a42341803b10653d8c2abdd1790c74dc06 Capability not supported eth v63 

2023-05-03 11:57:12.5029|0x9cff8021ecebf96ac6af8c03c85a2523efce9040ad31c6748f5845d4130f68098c539e9d8d0c6b1d27e6f48ad9dfb9a42341803b10653d8c2abdd1790c74dc06 Capability not supported eth v64 

2023-05-03 11:57:12.5029|0x9cff8021ecebf96ac6af8c03c85a2523efce9040ad31c6748f5845d4130f68098c539e9d8d0c6b1d27e6f48ad9dfb9a42341803b10653d8c2abdd1790c74dc06 Capability not supported eth v65 

2023-05-03 11:57:12.5029|0x9cff8021ecebf96ac6af8c03c85a2523efce9040ad31c6748f5845d4130f68098c539e9d8d0c6b1d27e6f48ad9dfb9a42341803b10653d8c2abdd1790c74dc06 Agreed on eth v66 

2023-05-03 11:57:12.5029|0x9cff8021ecebf96ac6af8c03c85a2523efce9040ad31c6748f5845d4130f68098c539e9d8d0c6b1d27e6f48ad9dfb9a42341803b10653d8c2abdd1790c74dc06 Capability not supported par v1 

2023-05-03 11:57:12.5029|0x9cff8021ecebf96ac6af8c03c85a2523efce9040ad31c6748f5845d4130f68098c539e9d8d0c6b1d27e6f48ad9dfb9a42341803b10653d8c2abdd1790c74dc06 Capability not supported par v2 

2023-05-03 11:57:12.5029||NetworkTrace| p2p.5 initialized in [Session|In|Initialized|137.108.130.148:40772->55206] 

2023-05-03 11:57:12.5029|p2p.5 established on [Session|In|Initialized|137.108.130.148:40772->55206] - enabling snappy 

2023-05-03 11:57:12.5029|Enabling Snappy compression and disabling framing in [Session|In|Initialized|137.108.130.148:40772->55206] 

2023-05-03 11:57:12.5029|Updating listen port for [Session|In|Initialized|137.108.130.148:40772->55206] to: 55206 

2023-05-03 11:57:12.5029|Finalized P2P protocol initialization on [Session|In|Initialized|137.108.130.148:40772->55206] 

2023-05-03 11:57:12.5029|[Session|In|Initialized|137.108.130.148:40772->55206] Starting protocolHandler for eth v66 on 40772 

2023-05-03 11:57:12.5029|eth66 subprotocol initializing with [Node|137.108.130.148:40772|eth66|OpenEthereum/KMi Parity Node 02/v3.3.5-stable-6c2d392d8-20220405/x86_64-linux-gnu/rustc1.58.1] 

2023-05-03 11:57:12.5029|1 Sending StatusMessage 

2023-05-03 11:57:12.5029|P2P to deliver eth.0 on [Session|In|Initialized|137.108.130.148:40772->55206] 

2023-05-03 11:57:12.5029|Merging frames 

2023-05-03 11:57:12.5029|Merging frames 

2023-05-03 11:57:12.5029|Compressing with Snappy a message of length 87 

2023-05-03 11:57:12.5029|Uncompressing with Snappy a message of length 3 

2023-05-03 11:57:12.5029|[Session|In|Initialized|137.108.130.148:40772->55206] received a message of length 1 (2 => p2p.2) 

2023-05-03 11:57:12.5029|[Session|In|Initialized|137.108.130.148:40772->55206] Received PING on 40772 

2023-05-03 11:57:12.5029|OUT 00001 Ping 

2023-05-03 11:57:12.5029|[Session|In|Initialized|137.108.130.148:40772->55206] P2P responding to ping 

2023-05-03 11:57:12.5029|2 Sending PongMessage 

2023-05-03 11:57:12.5029|P2P to deliver p2p.3 on [Session|In|Initialized|137.108.130.148:40772->55206] 

2023-05-03 11:57:12.5029|Uncompressing with Snappy a message of length 94 

2023-05-03 11:57:12.5029|[Session|In|Initialized|137.108.130.148:40772->55206] received a message of length 99 (16 => eth.0) 

2023-05-03 11:57:12.5029|00001 Status from [Node|137.108.130.148:40772|eth66|OpenEthereum/KMi Parity Node 02/v3.3.5-stable-6c2d392d8-20220405/x86_64-linux-gnu/rustc1.58.1] 

2023-05-03 11:57:12.5029|OUT 00001 eth.66 network: 1215 | diff: 4149365070608828478364482065066949212106095830 | best: 0x2151fc...1e220c | genesis: 0xd4f5da...0fe27c | fork: 82bb2663 0 

2023-05-03 11:57:12.5029||NetworkTrace| eth.66 initialized in [Session|In|Initialized|137.108.130.148:40772->55206] 

2023-05-03 11:57:12.5029|Initiating disconnect with peer: 0x9cff8021ecebf96ac6af8c03c85a2523efce9040ad31c6748f5845d4130f68098c539e9d8d0c6b1d27e6f48ad9dfb9a42341803b10653d8c2abdd1790c74dc06, different genesis hash: 0xd4f5da85b55b12e3d8883dd460fc29c6eed74d7579896a0cfa533fc4650fe27c, our: 0xcf24206ea5132c0e42eb728ba3e14543d23dd83a131edb4a55205609a19a2463 

2023-05-03 11:57:12.5029|[Session|In|DisconnectingProtocols|137.108.130.148:40772->55206] initiating disconnect because InvalidGenesis, details: invalid genesis 

2023-05-03 11:57:12.5029|[Session|In|DisconnectingProtocols|137.108.130.148:40772->55206] disconnecting p2p InvalidGenesis (invalid genesis) 

2023-05-03 11:57:12.5029|Sending disconnect BreachOfProtocol (invalid genesis) to 137.108.130.148:40772 

2023-05-03 11:57:12.5029|3 Sending DisconnectMessage 

2023-05-03 11:57:12.5029|[Session|In|DisconnectingProtocols|137.108.130.148:40772->55206] disconnecting eth66 InvalidGenesis (invalid genesis) 

2023-05-03 11:57:12.5029|[Session|In|Disconnecting|137.108.130.148:40772->55206] invoking 'Disconnecting' event BreachOfProtocol Local invalid genesis 

2023-05-03 11:57:12.5029||NetworkTrace| [Session|In|Disconnected|137.108.130.148:40772->55206] disconnected event BreachOfProtocol Local 

2023-05-03 11:57:12.5029||NetworkTrace| [Session|In|Disconnected|137.108.130.148:40772->55206] closing 

2023-05-03 11:57:12.5029||NetworkTrace| peer disconnected event in PeerManager - [Session|In|Disconnected|137.108.130.148:40772->55206] BreachOfProtocol Local 

2023-05-03 11:57:12.5029|DEACTIVATING IF DISCONNECTED [Peer|137.108.130.148:55206|[Session|In|Disconnected|137.108.130.148:40772->55206]|] 

2023-05-03 11:57:12.5029||NetworkTrace| eth66 is invalid on [Session|In|Disconnected|137.108.130.148:40772->55206] 

deffrian commented 1 year ago

My node have the same genesis hash as OpenEthereum.

{
  "name": "KMiPoA",
  "engine": {
    "authorityRound": {
      "params": {
        "stepDuration": "5",
        "validators": {
          "safeContract": "0x0000000000000000000000000000000000000005"
        }
      }
    }
  },
  "params": {
    "gasLimitBoundDivisor": "0x400",
    "maximumExtraDataSize": "0x20",
    "minGasLimit": "0x1388",
    "networkID": "0x4BF",
    "eip140Transition": "0x9999999",
    "eip211Transition": "0x0",
    "eip214Transition": "0x0",
    "eip658Transition": "0x0",
    "eip145Transition": "0x0",
    "eip1014Transition": "0x0",
    "eip1052Transition": "0x0",
    "eip1283Transition": "0x0",
    "eip1344Transition": "0x0",
    "eip1706Transition": "0x0",
    "eip1884Transition": "0x0",
    "eip2028Transition": "0x0"
  },
  "genesis": {
    "seal": {
      "authorityRound": {
        "step": "0x0",
        "signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
      }
    },
    "difficulty": "0x20000",
    "gasLimit": "0x5B8D80"
  },
  "accounts": {
    "0x0000000000000000000000000000000000000001": {
      "balance": "1",
      "builtin": {
        "name": "ecrecover",
        "pricing": {
          "linear": {
            "base": 3000,
            "word": 0
          }
        }
      }
    },
    "0x0000000000000000000000000000000000000002": {
      "balance": "1",
      "builtin": {
        "name": "sha256",
        "pricing": {
          "linear": {
            "base": 60,
            "word": 12
          }
        }
      }
    },
    "0x0000000000000000000000000000000000000003": {
      "balance": "1",
      "builtin": {
        "name": "ripemd160",
        "pricing": {
          "linear": {
            "base": 600,
            "word": 120
          }
        }
      }
    },
    "0x0000000000000000000000000000000000000004": {
      "balance": "1",
      "builtin": {
        "name": "identity",
        "pricing": {
          "linear": {
            "base": 15,
            "word": 3
          }
        }
      }
    },
    "0x0000000000000000000000000000000000000005": {
      "balance": "1",
      "constructor": "0x60806040526040518060200160405280725e6478c5f01671f632d987e1ae862c570b7fb873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600090600162000064929190620002f1565b5060405180602001604052806040518060400160405280600e81526020017f436f6e7472616374204f776e65720000000000000000000000000000000000008152508152506001906001620000bb92919062000380565b506040518060200160405280725e6478c5f01671f632d987e1ae862c570b7fb873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525060029060016200011c929190620002f1565b5060405180602001604052806040518060400160405280600e81526020017f436f6e7472616374204f776e657200000000000000000000000000000000000081525081525060039060016200017392919062000380565b506040518060200160405280725e6478c5f01671f632d987e1ae862c570b7fb873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152506004906001620001d4929190620002f1565b5060405180602001604052806040518060400160405280600e81526020017f436f6e7472616374204f776e657200000000000000000000000000000000000081525081525060059060016200022b92919062000380565b5060146007553480156200023e57600080fd5b5060016006600060026000815481106200025457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860006101000a81548160ff02191690831515021790555062000559565b8280548282559060005260206000209081019282156200036d579160200282015b828111156200036c5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000312565b5b5090506200037c9190620003e7565b5090565b828054828255906000526020600020908101928215620003d4579160200282015b82811115620003d3578251829080519060200190620003c29291906200042d565b5091602001919060010190620003a1565b5b509050620003e39190620004b4565b5090565b6200042a91905b808211156200042657600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101620003ee565b5090565b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200047057805160ff1916838001178555620004a1565b82800160010185558215620004a1579182015b82811115620004a057825182559160200191906001019062000483565b5b509050620004b09190620004e5565b5090565b620004e291905b80821115620004de5760008181620004d491906200050d565b50600101620004bb565b5090565b90565b6200050a91905b8082111562000506576000816000905550600101620004ec565b5090565b90565b50805460018160011615610100020316600290046000825580601f1062000535575062000556565b601f016020900490600052602060002090810190620005559190620004e5565b5b50565b61298d80620005696000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806382daa345116100b8578063d16856ca1161007c578063d16856ca146107c3578063d397487a1461089e578063d69f13bb14610945578063ed260c1214610993578063ee38e21514610a6e578063eebc7a3914610b1557610137565b806382daa3451461058a578063b048e05614610631578063b3f05b971461069f578063b7ab4db5146106c1578063c476dd401461072057610137565b806331ae450b116100ff57806331ae450b1461035b57806336207b2d146103ba57806340a141ff1461046157806363e2a232146104a5578063752862111461058057610137565b80630c8578051461013c57806311117fc81461015a5780631785f53c146101c85780631bb456231461022457806324d7806c146102ff575b600080fd5b610144610b74565b6040518082815260200191505060405180910390f35b6101866004803603602081101561017057600080fd5b8101908080359060200190929190505050610b7a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61020a600480360360208110156101de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bb6565b604051808215151515815260200191505060405180910390f35b6102fd6004803603604081101561023a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561027757600080fd5b82018360208201111561028957600080fd5b803590602001918460018302840111640100000000831117156102ab57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610ee1565b005b6103416004803603602081101561031557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111b7565b604051808215151515815260200191505060405180910390f35b6103636111d7565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156103a657808201518184015260208101905061038b565b505050509050019250505060405180910390f35b6103e6600480360360208110156103d057600080fd5b8101908080359060200190929190505050611265565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561042657808201518184015260208101905061040b565b50505050905090810190601f1680156104535780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104a36004803603602081101561047757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061131e565b005b61057e600480360360408110156104bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104f857600080fd5b82018360208201111561050a57600080fd5b8035906020019184600183028401116401000000008311171561052c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506115e6565b005b610588611889565b005b6105b6600480360360208110156105a057600080fd5b81019080803590602001909291905050506119dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105f65780820151818401526020810190506105db565b50505050905090810190601f1680156106235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61065d6004803603602081101561064757600080fd5b8101908080359060200190929190505050611aa7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106a7611ae3565b604051808215151515815260200191505060405180910390f35b6106c9611af6565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561070c5780820151818401526020810190506106f1565b505050509050019250505060405180910390f35b6107c16004803603606081101561073657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561077d57600080fd5b82018360208201111561078f57600080fd5b803590602001918460018302840111640100000000831117156107b157600080fd5b9091929391929390505050611b84565b005b61089c600480360360408110156107d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561081657600080fd5b82018360208201111561082857600080fd5b8035906020019184600183028401116401000000008311171561084a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611c7b565b005b6108ca600480360360208110156108b457600080fd5b8101908080359060200190929190505050611f6e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561090a5780820151818401526020810190506108ef565b50505050905090810190601f1680156109375780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109916004803603604081101561095b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612027565b005b610a6c600480360360408110156109a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156109e657600080fd5b8201836020820111156109f857600080fd5b80359060200191846001830284011164010000000083111715610a1a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506120e8565b005b610a9a60048036036020811015610a8457600080fd5b810190808035906020019092919050505061239e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ada578082015181840152602081019050610abf565b50505050905090810190601f168015610b075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610b1d612468565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610b60578082015181840152602081019050610b45565b505050509050019250505060405180910390f35b60075481565b60028181548110610b8757fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610c1557600080fd5b600080905060006002805490509050600092506001811115610ed757600191505b80821015610ed6578373ffffffffffffffffffffffffffffffffffffffff1660028381548110610c6257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610ec957600160028054905003821015610da557600260016002805490500381548110610cce57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660028381548110610d0657fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360016003805490500381548110610d6357fe5b9060005260206000200160038381548110610d7a57fe5b906000526020600020019080546001816001161561010002031660029004610da39291906125dd565b505b6002805480919060019003610dba9190612664565b506003805480919060019003610dd09190612690565b50600192506000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fedbf84ad6d9444bd2820ff443e5a48c589f1b441420360448a2a0b94d66c4a128433604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1610ed6565b8180600101925050610c36565b5b8292505050919050565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610f3e57600080fd5b60011515600860009054906101000a900460ff16151514610f5e57600080fd5b6000600190503373ffffffffffffffffffffffffffffffffffffffff166002600081548110610f8957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610fd557600090505b6001811415610ff157600160008054905011610ff057600080fd5b5b60008190505b6000805490508110156111b1578373ffffffffffffffffffffffffffffffffffffffff166000828154811061102857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111a457826001828154811061107d57fe5b90600052602060002001908051906020019061109a9291906126bc565b507fba15a29b24c7092407761a0ee12b2f50d4d09153333116517036f364adfd53de848433604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611163578082015181840152602081019050611148565b50505050905090810190601f1680156111905780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16111b1565b8080600101915050610ff7565b50505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6060600280548060200260200160405190810160405280929190818152602001828054801561125b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611211575b5050505050905090565b6001818154811061127257fe5b906000526020600020016000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113165780601f106112eb57610100808354040283529160200191611316565b820191906000526020600020905b8154815290600101906020018083116112f957829003601f168201915b505050505081565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461137b57600080fd5b600160048054905011156115e3576000600190505b6004805490508110156115e1578173ffffffffffffffffffffffffffffffffffffffff16600482815481106113c157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156115d4576001600480549050038110156115045760046001600480549050038154811061142d57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166004828154811061146557fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005600160058054905003815481106114c257fe5b90600052602060002001600582815481106114d957fe5b9060005260206000200190805460018160011615610100020316600290046115029291906125dd565b505b60048054809190600190036115199190612664565b50600580548091906001900361152f9190612690565b507fb45f422cd5a4a7363b7d0966c180df52ec2c4246d42a4726a14a5a93063123128233604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16115cf6124f6565b6115e1565b8080600101915050611390565b505b50565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461164357600080fd5b60008090505b6004805490508110156116d3578273ffffffffffffffffffffffffffffffffffffffff166004828154811061167a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116c657600080fd5b8080600101915050611649565b5060048290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060058190806001815401808255809150509060018203906000526020600020016000909192909190915090805190602001906117779291906126bc565b50507f58508ebbfede7d091c1dcffe50287928341126ca6cb873f82f54d9b63a709da2828233604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611841578082015181840152602081019050611826565b50505050905090810190601f16801561186e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16118856124f6565b5050565b73fffffffffffffffffffffffffffffffffffffffe73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156118e55750600860009054906101000a900460ff16155b6118ee57600080fd5b6004600090805461190092919061273c565b506005600190805461191392919061278e565b506001600860006101000a81548160ff0219169083151502179055507f8564cd629b15f47dc310d45bcbfc9bcf5420b0d51bf0659a16c67f91d27632536000604051808060200182810382528381815481526020019150805480156119cd57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611983575b50509250505060405180910390a1565b606060018054905082106119f057600080fd5b600182815481106119fd57fe5b906000526020600020018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a9b5780601f10611a7057610100808354040283529160200191611a9b565b820191906000526020600020905b815481529060010190602001808311611a7e57829003601f168201915b50505050509050919050565b60008181548110611ab457fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900460ff1681565b60606000805480602002602001604051908101604052809291908181526020018280548015611b7a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611b30575b5050505050905090565b8260075481014311158015611b9857504381105b611ba157600080fd5b7f54749eb7590a0e40dd06dc6da9ab95ff11098ebd50528ccf8705abee1f51e3a73386868686604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a15050505050565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611cd857600080fd5b60008090505b600280549050811015611d68578273ffffffffffffffffffffffffffffffffffffffff1660028281548110611d0f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611d5b57600080fd5b8080600101915050611cde565b5060028290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506003819080600181540180825580915050906001820390600052602060002001600090919290919091509080519060200190611e0c9291906126bc565b50506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3878b72c985d90cb8cf09b09040a6ab8d950d3b8a2c561761acd716745b47eee828233604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611f2e578082015181840152602081019050611f13565b50505050905090810190601f168015611f5b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60038181548110611f7b57fe5b906000526020600020016000915090508054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561201f5780601f10611ff45761010080835404028352916020019161201f565b820191906000526020600020905b81548152906001019060200180831161200257829003601f168201915b505050505081565b806007548101431115801561203b57504381105b61204457600080fd5b7f71f9582cfad8bd749f39b759200541b0c57918a817f80fbaeea7f15ed6496cd1338484604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b60011515600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461214557600080fd5b6000600190503373ffffffffffffffffffffffffffffffffffffffff16600260008154811061217057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156121bc57600090505b60018114156121d8576001600280549050116121d757600080fd5b5b60008190505b600280549050811015612398578373ffffffffffffffffffffffffffffffffffffffff166002828154811061220f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561238b57826003828154811061226457fe5b9060005260206000200190805190602001906122819291906126bc565b507ff98679ba468d2d555fad16dd78caafb0f4d7ad22ccf7de5db6cb3e07371974a3848433604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b8381101561234a57808201518184015260208101905061232f565b50505050905090810190601f1680156123775780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1612398565b80806001019150506121de565b50505050565b606060038054905082106123b157600080fd5b600382815481106123be57fe5b906000526020600020018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561245c5780601f106124315761010080835404028352916020019161245c565b820191906000526020600020905b81548152906001019060200180831161243f57829003601f168201915b50505050509050919050565b606060048054806020026020016040519081016040528092919081815260200182805480156124ec57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116124a2575b5050505050905090565b600860009054906101000a900460ff1661250f57600080fd5b6000600860006101000a81548160ff02191690831515021790555060014303407f55252fa6eee4741b4e24a74a70e9c11fd2c2281df8d6ea13126ff845f7825c896004604051808060200182810382528381815481526020019150805480156125cd57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612583575b50509250505060405180910390a2565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106126165780548555612653565b8280016001018555821561265357600052602060002091601f016020900482015b82811115612652578254825591600101919060010190612637565b5b50905061266091906127fe565b5090565b81548183558181111561268b5781836000526020600020918201910161268a91906127fe565b5b505050565b8154818355818111156126b7578183600052602060002091820191016126b69190612823565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106126fd57805160ff191683800117855561272b565b8280016001018555821561272b579182015b8281111561272a57825182559160200191906001019061270f565b5b50905061273891906127fe565b5090565b82805482825590600052602060002090810192821561277d5760005260206000209182015b8281111561277c578254825591600101919060010190612761565b5b50905061278a919061284f565b5090565b8280548282559060005260206000209081019282156127ed5760005260206000209182015b828111156127ec57828290805460018160011615610100020316600290046127dc929190612892565b50916001019190600101906127b3565b5b5090506127fa9190612823565b5090565b61282091905b8082111561281c576000816000905550600101612804565b5090565b90565b61284c91905b80821115612848576000818161283f9190612919565b50600101612829565b5090565b90565b61288f91905b8082111561288b57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101612855565b5090565b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106128cb5780548555612908565b8280016001018555821561290857600052602060002091601f016020900482015b828111156129075782548255916001019190600101906128ec565b5b50905061291591906127fe565b5090565b50805460018160011615610100020316600290046000825580601f1061293f575061295e565b601f01602090049060005260206000209081019061295d91906127fe565b5b5056fea165627a7a723058204ff791d59e7d73ab11ead1b5c53012ccfa7c066c4ecf9373b99453e9313014110029"
    },
    "0000000000000000000000000000000000000006": {
      "builtin": {
        "name": "modexp",
        "activate_at": "0x0",
        "pricing": {
          "modexp": {
            "divisor": 20
          }
        }
      }
    },
    "0000000000000000000000000000000000000007": {
      "builtin": {
        "name": "alt_bn128_add",
        "activate_at": "0x0",
        "pricing": {
          "linear": {
            "base": 500,
            "word": 0
          }
        }
      }
    },
    "0000000000000000000000000000000000000008": {
      "builtin": {
        "name": "alt_bn128_mul",
        "pricing": {
          "0": {
            "price": {
              "alt_bn128_const_operations": {
                "price": 40000
              }
            }
          },
          "0x0": {
            "info": "Istanbul HF",
            "price": {
              "alt_bn128_const_operations": {
                "price": 6000
              }
            }
          }
        }
      }
    },
    "0000000000000000000000000000000000000009": {
      "builtin": {
        "name": "alt_bn128_pairing",
        "pricing": {
          "0x0": {
            "info": "Istanbul HF",
            "price": {
              "alt_bn128_pairing": {
                "base": 45000,
                "pair": 34000
              }
            }
          }
        }
      }
    },
    "0x0000000000000000000000000000000000000010": {
      "builtin": {
        "name": "blake2_f",
        "pricing": {
          "0x0": {
            "info": "Istanbul HF",
            "price": {
              "blake2_f": {
                "gas_per_round": 1
              }
            }
          }
        }
      }
    },
    "0x00dA4f6012205bfD396942e65Ee7C76d8d69Cf2A": {
      "balance": "16069380442589902755419620923411626025222029937827928353013760"
    }
  }
}
msbachler commented 1 year ago

We are just diffing our openethereum spec with the one we are using on our netheremind node. The only difference should be that change to the eip140tranistion number....just confirming.

deffrian commented 1 year ago

eth_getBlockByNumber(0)

{
  "jsonrpc": "2.0",
  "result": {
    "author": "0x0000000000000000000000000000000000000000",
    "difficulty": "0x20000",
    "extraData": "0x",
    "gasLimit": "0x5b8d80",
    "gasUsed": "0x0",
    "hash": "0xd4f5da85b55b12e3d8883dd460fc29c6eed74d7579896a0cfa533fc4650fe27c",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "miner": "0x0000000000000000000000000000000000000000",
    "number": "0x0",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "size": "0x215",
    "stateRoot": "0x4fa49548f841e0fdf27a5e43a9bb801775f1123e7727c9caa9a72a41bf7d5e69",
    "step": 0,
    "totalDifficulty": "0x20000",
    "timestamp": "0x0",
    "transactions": [],
    "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "uncles": []
  },
  "id": "1"
}
deffrian commented 1 year ago

My diff:

<     "eip140Transition": "0x0",
---
>     "eip140Transition": "0x9999999",
msbachler commented 1 year ago

Yes, our should be similar - we are just checking everything now.

deffrian commented 1 year ago

By the way, you can try removing data directory

kevinaquick commented 1 year ago

Hi, we have it connecting now to the other nodes on the chain, but it won't sync blocks as the nethermind node is now seeing the blocks as being invalid - an early error logged out implying a block hash mismatch

2023-05-03 12:30:41.2260|Processed block 1 (0x321749...70e6ac) is invalid: 

2023-05-03 12:30:41.2260|- hash: expected 0xe5996c0cfea41f76a4f1649ffa7be6e0b7805d0e5241737300ace1a3eefce134, got 0x32174993a337fb269b10950cc31841fc57870b07cca868324b68377f5c70e6ac 

2023-05-03 12:30:41.2260|- state root: expected 0x4fa49548f841e0fdf27a5e43a9bb801775f1123e7727c9caa9a72a41bf7d5e69, got 0x4e082f2e0d8349b98f71c86a93de6389cbc16d5f6b555479e7c9f72df9dba22f 

2023-05-03 12:30:41.2260|Processed block is not valid 1 (0xe5996c0cfea41f76a4f1649ffa7be6e0b7805d0e5241737300ace1a3eefce134) 

2023-05-03 12:30:41.2260|Suggested block TD: 340282366920938463463374607431447339193, Suggested block IsPostMerge False, Block TD: 340282366920938463463374607431447339193, Block IsPostMerge False 

I don't know if this is a result of the eip140 transition being different on the nethermind node to the rest of the chain's node

deffrian commented 1 year ago

Is there any transactions on block 1? And if there are maybe they use precompiles?

msbachler commented 1 year ago

I am not sure how the spec.json is processed exactly into the first block. We do have our validator contract in the spec.json. If that is made into a transaction in the block and relies on the precompiles somehow (sorry for not really knowing), then perhaps we have a catch 22 situation.

msbachler commented 1 year ago

Still. This is the furthest I think we have got with trying to transition our existing chain to Nethermind! But we may have to accept we have to start a new chain and lose data.

deffrian commented 1 year ago

By first block i mean second. One after genesis. You can get it like that: curl --data '{"method":"eth_getBlockByNumber","params":["1", true],"id":"1","jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST http://localhost:55200 Genesis always have no transactions.

kevinaquick commented 1 year ago

The first block call ("0x1" was needed instead of just "1" in the curl statement)

{"jsonrpc":"2.0","result":{"author":"0x005e6478c5f01671f632d987e1ae862c570b7fb8","difficulty":"0xffffffffffffffffffffffffecdde0b9","extraData":"0xdb830301008c4f70656e457468657265756d86312e34372e30826c69","gasLimit":"0x5ba462","gasUsed":"0x0","hash":"0xe5996c0cfea41f76a4f1649ffa7be6e0b7805d0e5241737300ace1a3eefce134","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x005e6478c5f01671f632d987e1ae862c570b7fb8","number":"0x1","parentHash":"0xd4f5da85b55b12e3d8883dd460fc29c6eed74d7579896a0cfa533fc4650fe27c","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sealFields":["0x8413221f46","0xb84120b371592c4af540debcf1887583fb8b24edb9107259df3fa11e9ceb13f625ff75bfdcd9032907b228ec2ca3a77da5bb96f52357013b261cbf551159ecbcdd3000"],"sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","signature":"20b371592c4af540debcf1887583fb8b24edb9107259df3fa11e9ceb13f625ff75bfdcd9032907b228ec2ca3a77da5bb96f52357013b261cbf551159ecbcdd3000","size":"0x246","stateRoot":"0x4fa49548f841e0fdf27a5e43a9bb801775f1123e7727c9caa9a72a41bf7d5e69","step":"321003334","timestamp":"0x5faa9c5e","totalDifficulty":"0xffffffffffffffffffffffffecdfe0b9","transactions":[],"transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","uncles":[]},"id":"1"}

deffrian commented 1 year ago

So nethermind expects stateRoot to stay the same. Might be something with block rewards. Do you have any? We probably can check balance of block author. curl --data '{"method":"eth_getBalance","params":["0x005e6478c5f01671f632d987e1ae862c570b7fb8", 1],"id":"1","jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST http://localhost:55200

kevinaquick commented 1 year ago

I believe our miners/validators on the existing chain get rewarded for mining/validating blocks

Running curl --data '{"method":"eth_getBalance","params":["0x005e6478c5f01671f632d987e1ae862c570b7fb8", "0x1"],"id":"1","jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST http://localhost:55200

As before had to change 1 to 0x1 compared to the curl command you gave {"jsonrpc":"2.0","result":"0x0","id":"1"}

deffrian commented 1 year ago

Sorry, it's vise versa. Block from peer have the same stateRoot as genesis and nethermind expects different one. I will try to investigate why it's happening