How to Clone Ethereum, and What Ethereum Offers

in Token Discussion4 years ago

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.


https://steemit.com/steemit/@marsresident/cryptonote-coin-creation-guide-the-easiest-way-to-create-your-own-cryptocurrency


https://steemit.com/bitcoin/@marsresident/here-is-everything-you-need-to-start-a-large-scale-project-minting-your-own-money


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


http://truffleframework.com/




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


https://github.com/ethereum/mist/releases

Coin Marketplace

STEEM 0.15
TRX 0.17
JST 0.028
BTC 69106.80
ETH 2468.44
USDT 1.00
SBD 2.43