Timbre is a blockchain-based decentralized forum. This repository contains the golang implementation of Timbre. (Please note this is a trimmed down version of the original repo)
To set up Timbre for development, make sure you have golang (>1.11) installed, clone this repository, and follow the instructions below.
-
Fetch project dependencies
go mod download
-
Install pbc, the pairing-based cryptography library
sudo ./install_pbc.sh
-
Download the latest protobuf compiler
protoc
from https://github.com/protocolbuffers/protobuf/releases -
Install
protoc
sudo unzip -o $PROTOC_ZIP -d /usr/local bin/protoc sudo unzip -o $PROTOC_ZIP -d /usr/local 'include/*'
-
Compile protobuf structs
make proto
Go to the cmd directory and run the main file. See help for options.
Each package contains an independent README that explains what that package does.
Please be mindful of golang best practices and use the official linting and formatting tools (golint
and gofmt
).
Try to write comprehensive unit tests if possible.
The Timbre whitepaper is a good reference for how various Timbre protocols should be implemented.