Setup an IPFS Node

The Definitive Guide

IPFS is a distributed file system, not the blockchain.

If you want to know more about instances of distributed file system, there are lots of information available through Wikipedia.

EDITOR NOTE: We could not take it any longer. When we heard that in China people have been buying hard drives with ipfs enabled, thinking it will generate money, we had to get closer to the reality of setting up an IPFS node RIGHT NOW.

This guide is meant to be best CURRENT practice in a few scenarios.

Software Implementations

Hardware that can be used as fullnode

  • Raspberry Pi
  • Mini-computers (like Bitnodes or Bitseed)
  • Physical Computer / Standard PC
  • Virtual Server (AWS, linode, etc)
  • NAS

Biggest Issues

  • There is no human friendly interface to setup IPFS on a drive.
  • There is no system for generating revenue from running or, renting the extra space on your HD.
  • Low adoption
  • Lots of competition from Google, Amazon, Apple, MS on cloud storage.

From Beginner to Expert

EASY: Run IPFS in a Docker container

EASY: Run ipfs on your computer

MEDIUM: Setup NPM module to do ipfs solution

HARD: Setup ipfs on Raspberry Pi / PC

  • INCOMPLETE, needs to be written.

Innovation to do

  • Make IPFS Apache module
  • Make IPFS Nginx modules
  • Make simple front-end to some simple NAS
  • Make some simple front-end to openwrt

Setup a Bitcoin Full Node

The Definitive Guide

While many people are concerned with mining Bitcoin, few are running Bitcoin fullnodes. A Bitcoin fullnode is an instance of bitcoind running with the entire bitcoin blockchain. For the health and speed of the network, it is ideal for Bitcoin Fullnodes to be geographically dispersed. If you are running a mining farm, it is also good to have a local Bitcoin Fullnode to decrease latency of transactions.

The final reason it is great to run a bitcoin fullnode is because you BELIEVE IN BITCOIN, BLOCKCHAIN and CRYPTOCURRENCY. It is the RIGHT thing to do.

The Bitcoin Fullnode is the BIBLE of BITCOIN that is continuously written :)

This guide is meant to be best CURRENT practice in a few scenarios

Software Implementations

Hardware that can be used as fullnode

  • Raspberry Pi
  • Mini-computers (like Bitnodes or Bitseed)
  • Physical Computer / Standard PC
  • Virtual Server (AWS, linode, etc)

Biggest Issues

  • Currently as of 2018-06-22, Bitcoin Fullnode requires at least 250G hard drive.
  • Processor with enough power to handle both network throughput and transactions.
  • Power draw from the computer. Smaller mini computer like bitseed only 10W.
  • No really scaled manufacturer producing Bitcoin fullnodes.

From Beginner to Expert

EASY: Bitseed

Bitseed is an active project and company selling bitcoin nodes as a hardware product.

Buy a Bitseed

Install a Bitseed on a computer

EASY: Bitnodes

  • As of 2018-06-22, the main core software project for bitnode is DISCONTINUED
  • We do not recommend buying hardware or installing onto random hardware as this project seems stalled.

Install your own Bitnode on Linux

curl | sh

MEDIUM: Setup Bitcoind on your computer

Make sure you have a dedicated 250G+ drive, preferably SSD, dedicated to bitcoin.

Example: Mac Mini

  • Current: Mac Mini i5 4G RAM + 512G Hardisk, RMB 2600 / $450 USD


  • Buy cheap mini-computer
  • Make sure has 250-500G hard drive
  • Install debian
  • Install bitcoind
  • Plug in ethernet network (make sure network uses DHCP)

MEDIUM: Setup fullnode docker image in Amazon ECS

HARD: Setup fullnode in Raspberry Pi / PC

We recommend against the raspberry pi bitcoin fullnode, as we have tried many times. The raspberry pi is underpowered and without enough ram. The other issue, is throughput on the drive.

Setup an Ethereum Full Node

Run a Full Node

Software Implementations

Hardware that could be used as fullnode

  • Raspberry Pi
  • PC
  • Virtual Server (AWS, linode)

From Beginner to Expert

EASY: Ubuntu Linux

  • You may also install the go-ethereum in Ubuntu like this:
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

MEDIUM: Docker

MEDIUM: Mini-computer (Raspberry Pi, etc)


HARD: Build from Source Code


on AWS Instance

  • Select t2.xlarge or larger instance

Software & Guide

Mining on Physical Hardware (Reference)


Type Detail
CPU Dual/Quard Core processor 2.0GHz+
RAM 4G DDR Memory
Disk 32G HDD
Display Card 8x MXM RX470/RX480 Graphics Cards with x1 PCI­E Gen 2
Power supply 1600W Power Supply

Software & Guide

Survey of Putting It On the Blockchain

Current State of Putting Things onto the Blockchain

As of 2018-06-26

Ways of Putting Onto the Blockchain


99% of the time when someone says let’s “Put That On the Blockchain” what that is transalted into is a timestamp and sha-256 hash placed onto the main Bitcoin or Ethereum blockchains.

Proof of Existence

The original proof of existence is


Since the first blockchain was the Bitcoin Blockchain, there is a limited amount of information that can be put onto each block. Ethereum does not have the same limit on blocksize, but a concept of “gas” used to keep down the insanity of putting increasingly larger sets of data onto “the blockchain”. Even the forked Bitcoin, BCH, has an increased block size to 32mb, but only 220 bytes in the OP_RETURN for placing a document.


Let’s consider messages as small documents, so when we are talking about Documents we are really talking about documents like PDF, Songs, Videos, Presentations, etc. So let’s consider documents 1 mb and larger.

  • More than likely, best way to do this is SHA-256 hash to external storage

Blockchain File Storage

Needs Research

  • Factom
  • Siacoin
  • Filecoin (status)

Current State of Hardware & Software Wallets

Current State of Hardware & Software Wallets

As of 2018-06-25


Open Source

Close Source

Assessing if REAL


Open Source


  • Apple looks to block cryptocurrency wallets like trust, toshi, etc. Status Release Notes, iOS Discussion
  • Status app already blocked
  • Trust wallet given 2 week notice
  • Option for future wallets: Android, custom hardware, desktop-based