README ¶
BTCG
BTCDd is the reference full node BTCD implementation written in Go (golang).
What is BTCD
BTCD is a fork of Kaspa with an ASIC resistance implementation Kaspa 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 BTCD including all dependencies:
$ git clone https://github.com/BTCGhostdag/BTCD/
$ cd BTCD
$ go install . ./cmd/...
- BTCDd (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
BTCDd has several configuration options available to tweak how it runs, but all of the basic operations work with zero configuration.
$ BTCD
Discord
Join our discord server using the following link: https://discord.gg/ZPZRvgMJDT
Issue Tracker
The integrated github issue tracker is used for this project.
Documentation
The documentation is a work-in-progress
License
BTCDd is licensed under the copyfree ISC License.
Documentation ¶
Overview ¶
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.
BTCDd is a full-node kaspa implementation written in Go.
The default options are sane for most users. This means BTCD 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:
BTCD [OPTIONS]
For an up-to-date help message:
BTCD --help
The long form of all option flags (except -C) can be specified in a configuration file that is automatically parsed when BTCD starts up. By default, the configuration file is located at ~/.BTCD/BTCD.conf on POSIX-style operating systems and %LOCALAPPDATA%\BTCD\BTCD.conf on Windows. The -C (--configfile) flag can be used to override this location.
Directories ¶
Path | Synopsis |
---|---|
appmessage
Package appmessage implements the kaspa appmessage protocol.
|
Package appmessage implements the kaspa appmessage protocol. |
cmd
|
|
BTCDwallet/libkaspawallet/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 kaspa transaction script language.
|
Package txscript implements the kaspa 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 BTCD.
|
Package database provides a database for BTCD. |
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 Kaspa address manager.
|
Package addressmanager implements concurrency safe Kaspa address manager. |
stability-tests
|
|
testing
|
|
Package util provides kaspa-specific convenience functions and types.
|
Package util provides kaspa-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. |