pugdagd

command module
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2024 License: ISC Imports: 3 Imported by: 0

README

Pugdagd

ISC License GoDoc

Pugdagd is the reference full node Pugdag implementation written in Go (golang).

What is Pugdag

Pugdag 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 pugdagd including all dependencies:
$ git clone https://github.com/Pugdag/pugdagd/
$ cd pugdagd
$ go install . ./cmd/...
  • Pugdagd (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.

  • Open your shell configuration file. For example, for Bash, you can use the following command:

$ nano ~/.bashrc
  • Add the following line to the end of the file:
 export PATH=$PATH:$(go env GOPATH)/bin

Getting Started

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

Creating a wallet

  • To create a wallet, you need to run pugdagd with utxoindex
$ pugdagd --utxoindex
  • Open another terminal
$ pugdagwallet create
  • You will be asked to choose a password for the wallet (a password must be at least 8 characters long, and it won't be shown on the screen you as you entering it). After that you should run this command in order to start the wallet daemon:
$ pugdagwallet start-daemon
  • Do not close the first 2 terminals and open a new terminal and then run this in order to request an address from the wallet:
$ pugdagwallet new-address
  • Your screen will show you something like this:

The wallet address is: pugdag:0123456789abcdef0123456789abcdef0123456789

  • To see your secret seed phrase :
$ pugdagwallet dump-unencrypted-data

Note: Every time you ask pugdagwallet for an address you will get a different address. This is perfectly fine. Every secret key is associated with many different public addresses and there is no reason not to use a fresh one for each transaction.

At this point your can close the wallet daemon, though you should keep it running of you want to be able to check your balance and make transactions

Discord

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

Issue Tracker

The integrated github issue tracker is used for this project.

Documentation

The documentation is a work-in-progress

License

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

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

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

pugdagd [OPTIONS]

For an up-to-date help message:

pugdagd --help

The long form of all option flags (except -C) can be specified in a configuration file that is automatically parsed when pugdagd starts up. By default, the configuration file is located at ~/.pugdagd/pugdagd.conf on POSIX-style operating systems and %LOCALAPPDATA%\pugdagd\pugdagd.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
pugdagwallet/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 pugdagd.
Package database provides a database for pugdagd.
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
daa
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