drep-chain

command module
v0.0.0-...-9faecf3 Latest Latest
Warning

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

Go to latest
Published: May 13, 2020 License: LGPL-3.0 Imports: 29 Imported by: 0

README

DREP Chain

ISC License

What is drep?

drep is a full node implementation of Drep written in Go (golang).

It acts as a fully-validating chain daemon for the Drep cryptocurrency. drep maintains the entire past transactional ledger of Drep and allows relaying of transactions to other Drep nodes around the world.

This software is currently under active development. It is extremely stable and has been in production use since February 2018.

What is a full node?

The term 'full node' is short for 'fully-validating node' and refers to software that fully validates all transactions and blocks, as opposed to trusting a 3rd party. In addition to validating transactions and blocks, nearly all full nodes also participate in relaying transactions and blocks to other full nodes around the world, thus forming the peer-to-peer network that is the backbone of the Drep cryptocurrency.

The full node distinction is important, since full nodes are not the only type of software participating in the Drep peer network. For instance, there are 'lightweight nodes' which rely on full nodes to serve the transactions, blocks, and cryptographic proofs they require to function, as well as relay their transactions to the rest of the global network.

Why run drep?

As described in the previous section, the Drep cryptocurrency relies on having a peer-to-peer network of nodes that fully validate all transactions and blocks and then relay them to other full nodes.

Running a full node with drep contributes to the overall security of the network, increases the available paths for transactions and blocks to relay.

In terms of individual benefits, since drep fully validates every block and transaction, it provides the highest security and privacy possible when used in conjunction with a wallet that also supports directly connecting to it in full validation mode, such as wallet.

  • 100 GB disk space (as of September 2018, increases over time)
  • 1.5GB memory (RAM)
  • ~150MB/day download, ~1.5GB/day upload
    • Plus one-time initial download of the entire block chain
  • Windows 7/8.x/10 (server preferred), macOS, Linux
  • High uptime

Getting Started

So, you've decided to help the network by running a full node. Great! Running drep is simple. All you need to do is install drep on a machine that is connected to the internet and meets the minimum recommended specifications, and launch it.

Also, make sure your firewall is configured to allow inbound connections to port 55555.

Installing and updating

Binaries (Windows/Linux/macOS)

Binary releases and config files are provided for common operating systems and architectures:

https://github.com/drep-project/DREP-Chain/releases

Build from source (all platforms)

Building or updating from source requires the following build dependencies:

http://docs.drep.org/advanced/solo-miner/

Running Tests

http://docs.drep.org/advanced/using-testnet/

Documentation

The documentation for drep is a work-in-progress. It is located in the docs folder.

License

drep is licensed under the copyfree ISC License.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmds
Package common contains various helper functions.
Package common contains various helper functions.
bitutil
Package bitutil implements fast bitwise operations.
Package bitutil implements fast bitwise operations.
bloombits
Package bloombits implements bloom filtering on batches of data.
Package bloombits implements bloom filtering on batches of data.
event
Package event deals with subscriptions to real-time events.
Package event deals with subscriptions to real-time events.
hexutil
Package hexutil implements hex encoding with 0x prefix.
Package hexutil implements hex encoding with 0x prefix.
math
Package math provides integer math utilities.
Package math provides integer math utilities.
mclock
Package mclock is a wrapper for a monotonic clock source
Package mclock is a wrapper for a monotonic clock source
trie
Package trie implements Merkle Patricia Tries.
Package trie implements Merkle Patricia Tries.
bn256
Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve.
Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve.
bn256/cloudflare
Package bn256 implements a particular bilinear group at the 128-bit security level.
Package bn256 implements a particular bilinear group at the 128-bit security level.
bn256/google
Package bn256 implements a particular bilinear group.
Package bn256 implements a particular bilinear group.
secp256k1
Package secp256k1 implements support for the elliptic curves needed for decred.
Package secp256k1 implements support for the elliptic curves needed for decred.
sha3
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202.
dbinterface
Package ethdb defines the interfaces for an Ethereum data store.
Package ethdb defines the interfaces for an Ethereum data store.
leveldb
Package leveldb implements the key-value database layer based on LevelDB.
Package leveldb implements the key-value database layer based on LevelDB.
memorydb
Package memorydb implements the key-value database layer based on memory maps.
Package memorydb implements the key-value database layer based on memory maps.
network
p2p
Package p2p implements the Ethereum p2p network protocols.
Package p2p implements the Ethereum p2p network protocols.
p2p/discover
Package discover implements the Node Discovery Protocol.
Package discover implements the Node Discovery Protocol.
p2p/discv5
Package discv5 implements the RLPx v5 Topic Discovery Protocol.
Package discv5 implements the RLPx v5 Topic Discovery Protocol.
p2p/enr
Package enr implements Ethereum Node Records as defined in EIP-778.
Package enr implements Ethereum Node Records as defined in EIP-778.
p2p/nat
Package nat provides access to common network port mapping protocols.
Package nat provides access to common network port mapping protocols.
p2p/netutil
Package netutil contains extensions to the net package.
Package netutil contains extensions to the net package.
p2p/simulations
Package simulations simulates p2p networks.
Package simulations simulates p2p networks.
pkgs
drepclient/component/jsre
Package jsre provides execution environment for JavaScript.
Package jsre provides execution environment for JavaScript.
drepclient/component/jsre/deps
Package deps Code generated by go-bindata.
Package deps Code generated by go-bindata.
drepclient/types
Package utils contains internal helper functions for go-ethereum commands.
Package utils contains internal helper functions for go-ethereum commands.
evm
evm/event
Package event deals with subscriptions to real-time events.
Package event deals with subscriptions to real-time events.
log
rpc

Jump to

Keyboard shortcuts

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