consensusd

command module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2024 License: ISC Imports: 3 Imported by: 0

README

consensusd

ISC License GoDoc

consensusd is the reference full node Consensus Network implementation written in Go (golang). (Fork of https://github.com/kaspanet/kaspad)

What is Consensus Network

Consensus Network is an attempt at a proof-of-work cryptocurrency with instant confirmations and sub-second block times. It is based on the PHANTOM protocol, a generalization of Nakamoto consensus.

Requirements

Go 1.18 or later.

Installation

Build from Source
  • Install Go according to the installation instructions here: http://golang.org/doc/install

  • Ensure Go was installed properly and is a supported version:

$ go version
  • Run the following commands to obtain and install consensusd including all dependencies:
$ git clone https://github.com/consensus-network/consensusd
$ cd consensusd
$ go install . ./cmd/...
  • consensusd (and utilities) should now be installed in $(go env GOPATH)/bin. If you did not already add the bin directory to your system path during Go installation, you are encouraged to do so now.

Getting Started

consensusd has several configuration options available to tweak how it runs, but all of the basic operations work with zero configuration.

$ consensusd

Discord

Join our discord server using the following link: https://discord.gg/fwMqPXes

Issue Tracker

The integrated github issue tracker is used for this project.

Documentation

The documentation is a work-in-progress

License

consensusd is licensed under the copyfree ISC License.

Documentation

Overview

Copyright (c) 2023-2024 The Consensus developers Copyright (c) 2018-2019 The kaspanet developers Copyright (c) 2013-2018 The btcsuite developers Copyright (c) 2015-2016 The Decred developers Copyright (c) 2013-2014 Conformal Systems LLC. Use of this source code is governed by an ISC license that can be found in the LICENSE file.

Consensusd is a full-node consensus implementation written in Go.

The default options are sane for most users. This means consensusd will work 'out of the box' for most users. However, there are also a wide variety of flags that can be used to control it.

Usage:

consensusd [OPTIONS]

For an up-to-date help message:

consensusd --help

The long form of all option flags (except -C) can be specified in a configuration file that is automatically parsed when consensusd starts up. By default, the configuration file is located at ~/.consensusd/consensusd.conf on POSIX-style operating systems and %LOCALAPPDATA%\consensusd\consensusd.conf on Windows. The -C (--configfile) flag can be used to override this location.

Directories

Path Synopsis
app
appmessage
Package appmessage implements the consensus appmessage protocol.
Package appmessage implements the consensus appmessage protocol.
rpc
cmd
consensuswallet/libconsensuswallet/bip32/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.
consensus/utils/txscript
Package txscript implements the consensus transaction script language.
Package txscript implements the consensus transaction script language.
dagconfig
Package dagconfig defines DAG configuration parameters.
Package dagconfig defines DAG configuration parameters.
infrastructure
db/database
Package database provides a database for consensusd.
Package database provides a database for consensusd.
logger
Package logger defines an interface and default implementation for subsystem logging.
Package logger defines an interface and default implementation for subsystem logging.
network/addressmanager
Package addressmanager implements concurrency safe Consensus address manager.
Package addressmanager implements concurrency safe Consensus address manager.
stability-tests
daa
testing
Package util provides consensus-specific convenience functions and types.
Package util provides consensus-specific convenience functions and types.
bech32
Package bech32 provides a Go implementation of the bech32 format.
Package bech32 provides a Go implementation of the bech32 format.

Jump to

Keyboard shortcuts

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