Start geth with rinkeby chain

  1. Initialise datadir geth — datadir=$HOME/.rinkeby init rinkeby.json
  2. connect node to rinkeby network and start
geth --networkid=4 --datadir=$HOME/.rinkeby --cache=1024 --syncmode=full  --bootnodes=enode://a24ac7c5484ef4ed0c5eb2d36620ba4e4aa13b8c84684e1b4aab0cebea2ae45cb4d375b77eab56516d34bfbd3c1a833fc51296ff084b770b94fb9028c4d25ccf@

4. start ethereum wallet

/Applications/Ethereum\\ Wallet — rpc $HOME/.rinkeby/geth.ipc

5. Install truffle

npm install -g truffle

6. Initialize truffle

truffle init

after initialising truffle write you contract code and deploy using truffle commands

To add self signed certificates in macOS Sierra for testing, you need to create root CA certificate signed with SHA256

openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:2048 -keyout localhost.key -out localhost.cert

and add it to System keychain using

sudo security add-trusted-cert -d -r trustAsRoot -k /Library/Keychains/System.keychain

btcd is an alternative full node bitcoin implementation

Running docker container of btcd

  1. Pull docker btcd image docker pull niktrix/btcd-docker
  2. create directory to mount to docker container where btcd will download all blocks data, assure you have enough disk space mkdir /btcroot
  3. run btcd image as daemon docker run -d -p 8333:8333 -v /root:/btcdroot — name=”btcd-node” niktrix/btcd-docker
  4. check logs docker logs btcd-node
  5. Your node will download all blocks it will take some time depending on your network connection
  6. Make sure your port 8333 and check your node status

2. in layman term you can think bitcoin full node is like seeding your torrent.

3. As seeding in torrent helps to maintain health of file in torrent, running full node helps in bitcoin network health.

4. Bitcoin Full node downloads all blocks and it verifies all blocks hash to its previous block,

5. As full node verify all blocks and you are the owner, you can blindly trust data of your full node.

6. Various bitcoin implementation are available like bitcoinecore, bitcoind, btcd

Blockchain is underlying technology used in cryptocurrencies, before you start reading about blockchain there are some prerequisite to read,

  1. consensus algorithms
  2. hashing functions
  3. byzantine fault tolerance
  4. peer to peer network
  5. state machines
  6. Distributed blocks
  7. Merkle Tree

Nitin Gurbani

Argumentative. Opinionated. Always right. . Drinker. love Fun, knowledge greedy .

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store