kaspad

command module
v0.10.3 Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2021 License: ISC Imports: 3 Imported by: 0

README

Kaspad

Warning: This is pre-alpha software. There's no guarantee anything works.

ISC License GoDoc

Kaspad is the reference full node Kaspa implementation written in Go (golang).

This project is currently under active development and is in a pre-Alpha state. Some things still don't work and APIs are far from finalized. The code is provided for reference only.

What is kaspa

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.16 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 kaspad including all dependencies:
$ git clone https://github.com/kaspanet/kaspad
$ cd kaspad
$ go install . ./cmd/...
  • Kaspad (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

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

$ kaspad

Discord

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

Issue Tracker

The integrated github issue tracker is used for this project.

Documentation

The documentation is a work-in-progress

License

Kaspad 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.

Kaspad is a full-node kaspa implementation written in Go.

The default options are sane for most users. This means kaspad 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:

kaspad [OPTIONS]

For an up-to-date help message:

kaspad --help

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

Directories

Path Synopsis
app
appmessage
Package appmessage implements the kaspa appmessage protocol.
Package appmessage implements the kaspa appmessage protocol.
rpc
cmd
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.
miningmanager/mempool
Package mempool provides a policy-enforced pool of unmined kaspa transactions.
Package mempool provides a policy-enforced pool of unmined kaspa transactions.
infrastructure
db/database
Package database provides a database for kaspad.
Package database provides a database for kaspad.
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.

Jump to

Keyboard shortcuts

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