How to Clone Ethereum, and What Ethereum Offers
I originally posted this here on Steemit years ago
https://steemit.com/ethereum/@marsresident/how-to-clone-ethereum-and-what-ethereum-offers
I recently Created these 2 guides to show everyone how to create CryptoNotes, Coins using the CryptoNight Algorithm.
But I found out that it is actually easier to create an Ethereum Fork than it is to create a CryptoNote. So here is how to Clone Ethereum. Using this 2 Part Guide, you can Clone Ethereum using Linux, even if you have never used Cryptocurrency before in your life, as long as you can copy and paste into the Linux command line.
Part 1
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
If you want to stay on the bleeding edge, install the ethereum-unstable package instead.
After installing, run geth account new to create an account on your node.
You should now be able to run
geth
and connect to the network.
Make sure to check the different options and commands with geth --help
Download this and put it in a folder
https://raw.githubusercontent.com/ethereum/genesis_block_generator/master/mk_genesis_block.py
python mk_genesis_block.py --extradata hash_for_#1028201_goes_here > genesis_block.json
https://forum.ethereum.org/discussion/2571/python-error-when-trying-to-create-genesis-block
python mk_genesis_block.py --extradata 0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa > genesis_block.json
If you can get through the errors there, then go here:
https://blog.ethereum.org/2015/07/27/final-steps/
Part 2
If not, now you have everything you need to do it this way
mkdir my-eth-chain
cd my-eth-chain
gedit myGenesis.json
put this in that file
{
"config": {
"chainId": 1994,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0
},
"difficulty": "400",
"gasLimit": "2000000",
"alloc": {
"7b684d27167d208c66584ece7f09d8bc8f86ffff": {
"balance": "100000000000000000000000"
},
"ae13d41d66af28380c7af6d825ab557eb271ffff": {
"balance": "120000000000000000000000"
}
}
}
geth --datadir ./myDataDir init ./myGenesis.json
geth --datadir ./myDataDir --networkid 1114 console 2>> myEth.log
(CHANGE THE 1114 to something else)
Open another terminal window
cd to my-eth-chain
Type tail -f myEth2.log
In the geth JavaScript console of your 1st peer (back to the other terminal window), type:
> personal.newAccount("</p>
> eth.coinbase
Check your balance with
> eth.getBalance(eth.coinbase)
Run
> miner.start()
Then go here:
https://blog.ethereum.org/2015/07/27/final-steps/
bootnode --genkey=boot.key
bootnode --nodekey=boot.key
To get your Public URL for everyone
geth --datadir path/to/custom/data/folder --networkid 15 --bootnodes
$ geth
> --mine --minerthreads=1 --etherbase=0x0000000000000000000000000000000000000000
And apparently, the way to get consensus is to have your Genesis.json file put into your Ethereum Wallet. And it will turn the old Wallet into a Wallet for your Blockchain.
Once you have done that, now you have some experience, so go here
https://medium.facilelogin.com/build-your-own-blockchain-b8eaeea2f891
Video about how to create your own Ethereum Blockchain
https://www.youtube.com/watch?v=Vn73EX7zbCc
Ethereum Cookbook
https://github.com/hpyhacking/notes/blob/master/ethereum-cookbook.markdown
Truffle
Truffle Ganache
https://github.com/trufflesuite/ganache-cli
dApps- Decentralized Apps
I just thought about this, in the World of Bitcoin and Ethereum and ICOs and all that, most people miss this part. So what you do in this Blockchain Tutorial is a Clone of what Etheruem offers, but it is a New Network. You can create Apps on it, and you may think "Ok, so?". And that is where you might have heard of some things that have happened, but not understood what it meant.
There is an Ethereum App called CryptoKitties
https://www.theverge.com/2017/12/13/16754266/cryptokitties-ethereum-ether-game-cats
Ethereum, and your Ethereum Clone, allows you to create Smart Contracts, that work like Currencies, but have an underlying Operation they have to Follow (the Contract). These smart Contracts allow you to do things like create Animals that can be Bred and Traded, or Fuel for actions in different games that can be lost or gained between players.
You can even create an Exchange on the Ethereum Blockchain that allows you to trade Smart Contract Tokens
https://www.stateofthedapps.com/dapps/etherdelta
Here are more dApps
https://www.stateofthedapps.com/dapps/ico-wizard
https://www.stateofthedapps.com/dapps/decentrex
https://www.stateofthedapps.com/dapps/bitok-dice
https://wizard.oracles.org/
https://decentraland.org/
https://www.stateofthedapps.com/dapps/sportcrypt
https://www.stateofthedapps.com/dapps/blockjack
https://www.stateofthedapps.com/dapps/etherwall
https://www.stateofthedapps.com/dapps/slotthereum
https://www.stateofthedapps.com/dapps/realms-of-ether
https://www.stateofthedapps.com/dapps/ether-rock
https://www.stateofthedapps.com/dapps/tipeth
https://www.stateofthedapps.com/dapps/cryptoface
https://www.stateofthedapps.com/dapps/smartex
And dApps can be used on the Ethereum Mist Network