bmgo

module
v0.0.0-...-fe38a42 Latest Latest
Warning

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

Go to latest
Published: May 22, 2015 License: MIT

README

BM-Go

An implementation of the Bitmessage protocol, server and client using Go programming language from Google.

The entire implementation is divided into 4 packages.

Note: The project has been abandoned in favour of work on bmd/bmclient: https://github.com/monetas/bmd

bitmessage

The main library which provides the implementation of the protocol. It does not interact with OS/network in any way. It is designed to be serial. Only v3 of the protocol is supported.

middleware

Designed to connect to the required network (clearnet/I2P/Tor) and manage the SQLite file on disk, including the user's identities. Also responsible for implementing the task queues and calling bitmessage package for doing its tasks.

daemon

The Bitmessage daemon designed as a thin wrapper over the middleware to manage and configure everything through the commandline.

gui

The GUI meant for use by the average user, which connects the bitmessage and middleware packages through a user friendly interface.

The software is EXTREMELY EXPERIMENTAL and subsequent commits may break the API. Use (if it works) with caution.

Directories

Path Synopsis
bitmessage
constants
Constants package contains constants vital to the Bitmessage protocol and its functioning.
Constants package contains constants vital to the Bitmessage protocol and its functioning.
identity
Responsible for creation and management of user identities.
Responsible for creation and management of user identities.
pow
pow package is responsible for proof of work calculation/verification for an object transmitted over the network.
pow package is responsible for proof of work calculation/verification for an object transmitted over the network.
protocol
Contains functions used for encryption and decryption and serialization and deserialization to/from protocol structures.
Contains functions used for encryption and decryption and serialization and deserialization to/from protocol structures.
protocol/objects
Objects package contains all the object types as defined in v3 of the protocol specifications.
Objects package contains all the object types as defined in v3 of the protocol specifications.
protocol/types
Package containing the types and errors used by all other packages.
Package containing the types and errors used by all other packages.
middleware
db
A high level package for interacting with the underlying SQL database and doing necessary tasks.
A high level package for interacting with the underlying SQL database and doing necessary tasks.
network
Manage network connectivity and exchange of data with other peers.
Manage network connectivity and exchange of data with other peers.

Jump to

Keyboard shortcuts

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