Michael Sutton e5598c15a7
Fix ibd shared past negotiation to be non quadratic also in the worst-case (#1969)
* add p2p v5 which is currently identical to v4

* set all internal imports to v5

* wip

* set default version to 5

* protobuf gen for new ibd chain locator

* wire for new ibd chain locator types

* new ibd shared block algo -- only basic test passing

* address the case where pruning points disagree, now both IBD tests pass

* protobuf gen for new past diff request message

* wire for new request past diff message

* handle and flow for new request past diff message - logic unimplemented yet

* implement ibd sync past diff of relay and selected tip

* go fmt

* remove unused methods

* missed one err check

* addressing simple comments

* apply the traversal limit logic and sort headers

* rename pastdiff -> anticone

* apply Don't relay blocks in virtual anticone #1970 to v5

* go fmt

* Fixed minor comments

* Limit the number of chain negotiation restarts
2022-03-13 11:27:50 +02:00
2022-03-11 08:33:53 +02:00
2020-07-30 10:47:56 +03:00
2020-01-02 16:57:43 +02:00
2020-10-01 08:28:16 +03:00
2021-12-12 17:07:59 +02:00

Kaspad

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 Beta state.

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.

Issue priorities may be seen at https://github.com/orgs/kaspanet/projects/4

Documentation

The documentation is a work-in-progress

License

Kaspad is licensed under the copyfree ISC License.

Description
Kaspad is the reference full node Kaspa implementation written in Go (golang).
Readme ISC
Languages
Go 99.6%
Shell 0.3%