#StackBounty: #go-ethereum #contract-deployment #ethereum-classic #hardforks #blockchain-fork Would it be possible to create a fork of …

Bounty: 50

I would like to know if it would be possible to create a Fork of Ethereum or Ethereum Classic where only few smart contracts can be deployed?

The goal is to create a fork and launch a brand new blockchain but I would like to limit the possibility to deploy smart contracts.

Do you think there is a way to make it possbile?
I thought about using a config file where the community would set the smart contracts hashs able to be deployed? But it is not possible to get a hash of a smart contract before it is deployed on mainnet right?
Or maybe by acting on the gas fee and make it prohibitive, and then create a rule that would lower the gas fee? Or just setting a very high fee for smart contract deployment so that only the smart contracts that gather community consensus and fund raising can be deployed?

Plus I want my chain to be proof of work. Would you recommend to fork Ethereu Classic or Ethereum? Because Ethereum has been implementing none reversible changes towards proof of stake for some time.

Thank you very much for your help!

Best regards


Get this bounty!!!

#StackBounty: #go-ethereum #private-blockchain #hardforks It possible to hard fork a private network without resyncing chain from scrat…

Bounty: 50

I am able to hard fork my private chain into first Constantinople and than to Istanbul, please see the answer for it.

My approach is:

  • I have updated geth to its highest version
  • I have kept the go-ethereum/params/config.go file as it is
  • I have updated the genesis.json file by adding "constantinopleBlock": 2862930, "petersburgBlock": 2862930, and "istanbulBlock": 3831182. Block numbers are selected based on my chain.
  • I have removed the chain. sudo rm -rf chaindata lightchaindata
  • Initialized my chain by started it with geth init
  • Finally, I have started my chain, which started to sync from 0th block

I have tried this without removing the chain but it did not work. So from scratch since genesis block should be updated, I am syncing the chain from 0th, block which is very uniefficient.

[Q] I was wondering is it possible to hard fork a private network without resyncing chain from the 0th block? This approach is inefficient to sync few GB all over again for all the nodes on the network.


Get this bounty!!!

#StackBounty: #go-ethereum #private-blockchain #hardforks #clique Is it possible to hard fork a private network to Constantinople?

Bounty: 50

I have a Proof-of-Authority private Ethereum network that has Byzantium EVM version and created by clique engine. I have a single miner that has Geth version: v1.8.27.

{
  "config": {
    "chainId": 23422,
    "homesteadBlock": 1,
    "eip150Block": 2,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 3,
    "eip158Block": 3,
    "byzantiumBlock": 4,
    "clique": {
      "period": 15,
      "epoch": 30000
    }
  },
}

Please see my configuration file: custom.json.

When I start geth I get following output:

INFO [07-10|13:46:36.647] Initialised chain configuration          
config="{ChainID: 23422 Homestead: 1 DAO: <nil> DAOSupport: false EIP150: 2
EIP155: 3 EIP158: 3 Byzantium: 4 Constantinople: <nil>  
Petersburg: <nil> Engine: clique}"

I assume since Constantinople: <nil> in the configuration file and I cannot alter the custom configuration file there is no way I can hard fork the private chain.


Here:

The configuration is fixed via constants in the code (see
ChainConfig). A custom configuration can be provided in genesis
specification file, however, this is only applicable when setting up a
new chain.

Hence, currently the only way to make a hard fork in a private network
is to ensure that all participants shutdown/upgrade/restart in a
predefined time slot.

// I have updated the geth version but in general I am not sure to check that whether the private chain is updated.

[Q] I was wondering, is it possible to hard fork a private chain that has different EVM version to Constantinople EVM?


Get this bounty!!!