podlegacy

module
v0.1.2-alpha Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2018 License: ISC

README

Parallelcoin Pod - complete base package for the Parallelcoin network

Parallelcoin is a bitcoin fork which adds the ability to be mined by more than one proof of work algorithm. Specifically it currently supports SHA256D and Scrypt, but more are planned for an upcoming hardfork.

Parallelcoin development is moving in the direction of expanding the connectivity of nodes and creating a mesh network upon which many other applications can be linked together. Atomic swaps, decentralised, federated and democratic applications like distributed exchanges, messaging systems, marketplaces, and file sharing applications will become possible.

Currently there is now a fully functional full node, which can be used to mine DUO or support any application needing raw blockchain data.

The immediate current development work is focusing on building a light wallet node that protects privacy by using a form of onion routing for message broadcasts where the swarm of wallet users route each other's transactions to prevent geographical location of holders of the secret keys. In order to implement this, an interconnection protocol will be developed that enables also remote control of virtually anything that can be linked to the node, and the discovery of service providers on the network including detailed information about the enabled API calls that they support.

Building/Installation

Packaging installers with proper configurations and all that stuff is a platform specific and fiddly thing, but a big part of the reason why Go was chosen to build the new version was that if you have go installed, everything just works. When this bundle makes a 1.0.0 release there will be a set of binary installers, but for now, you must have a working Go installation.

Thus, if you haven't got Go installed, go here: https://golang.org/dl/ to download Go.

Next, follow the instructions for configuring your go environment: https://golang.org/doc/install

For Windows and MacOS users, this is all taken care of (choose the MSI installer if you are using windows), on Linux, you will need at least Go 1.8, but if it is available on your distribution, there will be little to configure to satisfy this requirement.

Pretty much you can install it directly, once you have a functioning Go installation, like this:

go get github.com/parallelcointeam/duo/cmd/pod

to install 'pod' which will then be available in your GOBIN folder (defaults to home/go/bin), and you can run it and it will immediately start synchronising to the network.

The podctl program allows you to send and receive JSONRPC requests, and can be installed like this:

go get github.com/parallelcointeam/duo/cmd/podctl

Use the argument --help to get information about available commands and configuration.

In cmd/pod/sample-pod.conf you find a full annotated configuration, copy this to the folder <home directory>/.pod/pod.conf to configure the launch settings (location may be different on windows and mac, on windows probably in c:\users\<username>\appdata).

podctl also has a configuration that you can find in home/.podctl, which allows you to set the RPC endpoint and other things. podctl can also control a full bitcoin-API compliant wallet if you add the argument --wallet. Currently there is no new version with full wallet capability but this will work with an older version of the c++ based client.

Directories

Path Synopsis
Package JSON provides primitives for working with the bitcoin JSON-RPC API.
Package JSON provides primitives for working with the bitcoin JSON-RPC API.
Package Log defines an interface and default implementation for subsystem logging.
Package Log defines an interface and default implementation for subsystem logging.
_tobedeleted
pod
btcd is a full-node bitcoin implementation written in Go.
btcd is a full-node bitcoin implementation written in Go.
Package addrmgr implements concurrency safe Bitcoin address manager.
Package addrmgr implements concurrency safe Bitcoin address manager.
Package blockchain implements bitcoin block handling and chain selection rules.
Package blockchain implements bitcoin block handling and chain selection rules.
fullblocktests
Package fullblocktests provides a set of block consensus validation tests.
Package fullblocktests provides a set of block consensus validation tests.
indexers
Package indexers implements optional block chain indexes.
Package indexers implements optional block chain indexes.
Package chaincfg defines chain configuration parameters.
Package chaincfg defines chain configuration parameters.
chainhash
Package chainhash provides abstracted hash functionality.
Package chainhash provides abstracted hash functionality.
cmd
pod
pod is a full-node parallelcoin implementation written in Go.
pod is a full-node parallelcoin implementation written in Go.
sac
Package connmgr implements a generic Bitcoin network connection manager.
Package connmgr implements a generic Bitcoin network connection manager.
Package database provides a block and metadata storage database.
Package database provides a block and metadata storage database.
ffldb
Package ffldb implements a driver for the database package that uses leveldb for the backing metadata and flat files for block storage.
Package ffldb implements a driver for the database package that uses leveldb for the backing metadata and flat files for block storage.
internal/treap
Package treap implements a treap data structure that is used to hold ordered key/value pairs using a combination of binary search tree and heap semantics.
Package treap implements a treap data structure that is used to hold ordered key/value pairs using a combination of binary search tree and heap semantics.
Package ecc implements support for the elliptic curves needed for bitcoin.
Package ecc implements support for the elliptic curves needed for bitcoin.
rpctest
Package rpctest provides a btcd-specific RPC testing harness crafting and executing integration tests by driving a `btcd` instance via the `RPC` interface.
Package rpctest provides a btcd-specific RPC testing harness crafting and executing integration tests by driving a `btcd` instance via the `RPC` interface.
internal
helpers
Package helpers provides convenience functions to simplify wallet code.
Package helpers provides convenience functions to simplify wallet code.
zero
Package zero contains functions to clear data from byte slices and multi-precision integers.
Package zero contains functions to clear data from byte slices and multi-precision integers.
Package mempool provides a policy-enforced pool of unmined bitcoin transactions.
Package mempool provides a policy-enforced pool of unmined bitcoin transactions.
Package netsync implements a concurrency safe block syncing protocol.
Package netsync implements a concurrency safe block syncing protocol.
neutrino
Package peer provides a common base for creating and managing Bitcoin network peers.
Package peer provides a common base for creating and managing Bitcoin network peers.
Package rpcclient implements a websocket-enabled Bitcoin JSON-RPC client.
Package rpcclient implements a websocket-enabled Bitcoin JSON-RPC client.
Package txscript implements the bitcoin transaction script language.
Package txscript implements the bitcoin transaction script language.
Package utils provides bitcoin-specific convenience functions and types.
Package utils provides bitcoin-specific convenience functions and types.
base58
Package base58 provides an API for working with modified base58 and Base58Check encodings.
Package base58 provides an API for working with modified base58 and Base58Check encodings.
bech32
Package bech32 provides a Go implementation of the bech32 format specified in BIP 173.
Package bech32 provides a Go implementation of the bech32 format specified in BIP 173.
gcs
Package gcs provides an API for building and using a Golomb-coded set filter.
Package gcs provides an API for building and using a Golomb-coded set filter.
hdkeychain
Package hdkeychain provides an API for bitcoin hierarchical deterministic extended keys (BIP0032).
Package hdkeychain provides an API for bitcoin hierarchical deterministic extended keys (BIP0032).
txsort
Package txsort provides the transaction sorting according to BIP 69.
Package txsort provides the transaction sorting according to BIP 69.
Package waddrmgr provides a secure hierarchical deterministic wallet address manager.
Package waddrmgr provides a secure hierarchical deterministic wallet address manager.
Package wallet provides ...
Package wallet provides ...
rpc/rpcserver
Package rpcserver implements the RPC API and is used by the main package to start gRPC services.
Package rpcserver implements the RPC API and is used by the main package to start gRPC services.
rpc/walletrpc
Package walletrpc is a generated protocol buffer package.
Package walletrpc is a generated protocol buffer package.
txauthor
Package txauthor provides transaction creation code for wallets.
Package txauthor provides transaction creation code for wallets.
txrules
Package txrules provides transaction rules that should be followed by transaction authors for wide mempool acceptance and quick mining.
Package txrules provides transaction rules that should be followed by transaction authors for wide mempool acceptance and quick mining.
votingpool
Package votingpool provides voting pool functionality for btcwallet.
Package votingpool provides voting pool functionality for btcwallet.
Package walletdb provides a namespaced database interface for btcwallet.
Package walletdb provides a namespaced database interface for btcwallet.
bdb
Package bdb implements an instance of walletdb that uses boltdb for the backing datastore.
Package bdb implements an instance of walletdb that uses boltdb for the backing datastore.
walletdbtest
Package walletdbtest provides exported tests that can be imported and consumed by walletdb driver tests to help ensure that drivers confirm to the database driver interface correctly.
Package walletdbtest provides exported tests that can be imported and consumed by walletdb driver tests to help ensure that drivers confirm to the database driver interface correctly.
Package wire implements the bitcoin wire protocol.
Package wire implements the bitcoin wire protocol.
Package wtxmgr provides an implementation of a transaction database handling spend tracking for a bitcoin wallet.
Package wtxmgr provides an implementation of a transaction database handling spend tracking for a bitcoin wallet.

Jump to

Keyboard shortcuts

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