bitmarkd

module
v0.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2016 License: ISC

README

bitmarkd - Main program

GoDoc

Prerequisites

  • Install the go language package for your system
  • Configure environment variables for go system
  • install the ZMQ4 library

For shell add the following to the shell's profile (remark the export CC=clang if you wish to use gcc)

# check for go installation
GOPATH="${HOME}/gocode"
if [ -d "${GOPATH}" ]
then
  gobin="${GOPATH}/bin"
  export GOPATH
  export PATH="${PATH}:${gobin}"
  # needed for FreeBSD 10 and later
  export CC=clang
else
  unset GOPATH
fi
unset gobin

OnFreeBSD/PC-BSD

pkg install libzmq4

On a Debian like system (as of Ubuntu 14.04 this only has V3, so need to search for PPA)

apt-get install libzmq4-dev

To compile simply:

go get github.com/bitmark-inc/bitmarkd
go install -v github.com/bitmark-inc/bitmarkd

Set up

Create the configuration directory, copy sample configuration, edit it to set up IPs, ports and local bitcoin testnet connection.

mkdir -p ~/.config/bitmarkd
cp bitmarkd.conf-sample  ~/.config/bitmarkd/bitmarkd.conf
${EDITDOR}   ~/.config/bitmarkd/bitmarkd.conf

Generate key files and certificates.

bitmarkd generate-identity
bitmarkd generate-rpc-cert
bitmarkd generate-mine-cert

Start the program.

bitmarkd

Directories

Path Synopsis
types and functions for converting Bitmark accounts (the public key) and their signatures
types and functions for converting Bitmark accounts (the public key) and their signatures
network announcements
network announcements
Cache for assets temporary store assets just received until they are: a.
Cache for assets temporary store assets just received until they are: a.
an AVL balanced tree with the addition of parent pointers to allow iteration through the nodes Note: an individual tree is not thread safe, so either access only in a single go routine or use mutex/rwmutex to restrict access.
an AVL balanced tree with the addition of parent pointers to allow iteration through the nodes Note: an individual tree is not thread safe, so either access only in a single go routine or use mutex/rwmutex to restrict access.
Simple skeleton for background processes
Simple skeleton for background processes
current block data
current block data
implementation block header hashing using a memory intensive argon2-d algorithm
implementation block header hashing using a memory intensive argon2-d algorithm
the structure of the block header includes functions to pack/unpack []byte form
the structure of the block header includes functions to pack/unpack []byte form
simple module to list the supported chains
simple module to list the supported chains
command
bitmarkd
bitmarkd main program
bitmarkd main program
prooferd
Proof-of-work program for bitmark system This program subscribes to potential blocks stream on a bitmarkd and determines an argon2 hash value that meets the current network difficulty value.
Proof-of-work program for bitmark system This program subscribes to potential blocks stream on a bitmarkd and determines an argon2 hash value that meets the current network difficulty value.
thread safe counter
thread safe counter
types and functions for converting currencies to/from enumeration values
types and functions for converting currencies to/from enumeration values
Implement the Bitcoin difficulty value and its various encodings
Implement the Bitcoin difficulty value and its various encodings
error instances Provides a single instance of errors to allow easy comparison
error instances Provides a single instance of errors to allow easy comparison
live and test genesis blocks
live and test genesis blocks
a queue system to transfer transactions
a queue system to transfer transactions
simple module to record the global running mode
simple module to record the global running mode
bitcoin
Detect payment records in the Bitcoin Block Chain Payments are indicated by OP_RETURN embedded data, this is compressed to fit it within the 80 byte Bitcoin limit.
Detect payment records in the Bitcoin Block Chain Payments are indicated by OP_RETURN embedded data, this is compressed to fit it within the 80 byte Bitcoin limit.
prepare blocks for prooferd
prepare blocks for prooferd
Cache for transactions that have been verified
Cache for transactions that have been verified
maintain the on-disk data store maintain separate pools of a number of elements in key->value form This maintains a LevelDB database split into a series of tables.
maintain the on-disk data store maintain separate pools of a number of elements in key->value form This maintains a LevelDB database split into a series of tables.
the structure of the transaction records includes functions to pack/unpack []byte form
the structure of the transaction records includes functions to pack/unpack []byte form
the version number so that other modules can access it
the version number so that other modules can access it
various comm ZMq routines shared be all commands
various comm ZMq routines shared be all commands

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL