This repo is an implementation of a Reddit-like site using Ethereum, Ipfs and a collection of smart contracts on the Ethereum blockchain. If you are interested in the design and technical details about Community you can read the white paper.
Features on release will include:
- AutoModeration
- Ad Free
- Material Design UX
- Your personal information stays private!
- Sybil/Brigade Resistance
- Decentralized/Distributed
- and much more planned for the future!
-
First choose how you want to expose the web3 object.
- Metamask - chrome extension (recommended)
- Mist - web3 compatible browser (medium)
- Geth - locally hosted web3 client (hard)
-
Ipfs needs to be installed. Using Chrome on Windows 7 I also had to run in a command prompt
- ipfs init
- ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "["*"]"
- ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods "["PUT", "GET", "POST"]"
- ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials "["true"]"
-
Start your ipfs node by typing into a command window "ipfs daemon". If the ipfs daemon is running appropriately it should look something like...
Initializing daemon... Swarm listening on /ip4/127.0.0.1/tcp/4001 Swarm listening on /ip4/169.254.150.233/tcp/4001 Swarm listening on /ip6/2607:fb90:a4ec:c6b2:900:5d14:8c0b:d38d/tcp/4001 Swarm listening on /ip6/2607:fb90:a4ec:c6b2:d083:c7d2:3012:54df/tcp/4001 Swarm listening on /ip6/::1/tcp/4001 API server listening on /ip4/127.0.0.1/tcp/5001 Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080 Daemon is ready -
Browse to http://localhost:8080/ipfs/QmUh3BPCTwin9Mg7KPNATaP9hLbWAfts4QYQkS1FDMC7cN/
- If you bookmark this site it will automatically take you to the latest version of Community as they are released.
- Get a copy of Community. There are two ways to do this:
- Download it directly from github (find the "Clone or Download" button)
- Install Git and run "git clone https://github.com/ChicoBitcoinJoe/Community"
- Using a command prompt in the location of your Community folder run "ipfs add -r -q Community_Folder_Name" to get an Ipfs hash of the Community folder. It will be the very last hash to be printed and it will start with 'Qm...'
- Browse to http://localhost:8080/ipfs/COPY_IPFS_HASH_FROM_STEP_2_HERE/ (Make sure you have web3 exposed and have the ipfs daemon running!)
- Every time you make a change in the Community folder you need to repeat steps 3 and 4
- To copy the ipfs hash straight to the clipboard use "ipfs add -r -q Community_Folder_Name | tail -n1 | clip" (must have tail and clip installed)
- For more verbose ipfs output use "ipfs add -r Community_Folder_Name"