Skip to content

Latest commit

 

History

History
58 lines (31 loc) · 4.37 KB

0012.md

File metadata and controls

58 lines (31 loc) · 4.37 KB

Self Contained DigiByte Testnet CLI (testnet container running a full node, CLI interface for interacting with the node)

Submitted by

@gto90

Bounty details

No

Is this being worked on

Item will be handled as part of Rosetta.

Specifics

One of the challenges of getting developers started with DigiByte development has been the complexities of setting up a local development environment. This project would implement a containerized DigiByte node configurable to run against the testnet or production network from a developer's local machine.

This item is for a docker or equivalent container that will include DigiByte Core 7.17.2. We ideally want variables set for things such as the download path so it can be easily updated later when 8.19.x is released.

It will launch the DigiByte Core wallet in testnet mode, and potentially whitelist RFC1918 IP ranges by default. As this is not for production, merely testing with zero-value testnet DigiByte's, it shouldn't be a security issue.

Once spun up, ideally it will notify the user in some manner of the local containers IP address, and show the synchronization progress in some form.

We then want it to optionally (If requested by the user) download the Insight Explorer (https://www.dgbwiki.com/index.php?title=Running_your_own_Insight_explorer), and utilize this in a testnet mode with the local Core Testnet wallet, allowing users to take advantage of the API calls that Insight offers (https://github.com/digibyte-core/insight-api/)

Finally, it should also show on-screen to the user it is going to run some additional commands (getnewaddress + generatetoaddress), perhaps this could take place after the Core installation but prior to the Insight installtaion, this will allow the user to then have some testnet funds and subsequently see them on the blockchain explorer.

Docker Container

One of the most difficult aspects of developing for DigiByte is the broad set of skills an aspiring developer requires to get started building their project. A developer needs to know much more than the domain specifics of the DigiByte blockchain but UTXO blockchains generally. In addition the developer must be knowledgable and comfortable with the fundamentals of TCP/IP; RPC calls; C++ develoment and so much more. Perhaps the most challenging task is understanding how to provision, configure and deploy a full DigiByte testnet node to use as a development target.

This requirement seeks to construct a fully configured Docker container that contains a full DigiByte node connected to the test network that can be stood up and torn down by a developer with a simple terminal command: 'docker start [options] digibyte'

With this simple command a developer with limited utxo blockchain development experience can stand up a clean DigiByte development target to work against within minutes. The container will contain the following zero configuration components:

DigiByte Full Node

DigiAssets Server

Command Line Interface

This item is for a docker or equivalent container that will include DigiByte Core 7.17.2. We ideally want variables set for things such as the download path so it can be easily updated later when 8.19.x is released.

It will launch the DigiByte Core wallet in testnet mode, and potentially whitelist RFC1918 IP ranges by default. As this is not for production, merely testing with zero-value testnet DigiByte's, it shouldn't be a security issue.

Once spun up, ideally it will notify the user in some manner of the local containers IP address, and show the synchronization progress in some form.

We then want it to optionally (If requested by the user) download the Insight Explorer (https://www.dgbwiki.com/index.php?title=Running_your_own_Insight_explorer), and utilize this in a testnet mode with the local Core Testnet wallet, allowing users to take advantage of the API calls that Insight offers (https://github.com/digibyte-core/insight-api/)

Finally, it should also show on-screen to the user it is going to run some additional commands (getnewaddress + generatetoaddress), perhaps this could take place after the Core installation but prior to the Insight installtaion, this will allow the user to then have some testnet funds and subsequently see them on the blockchain explorer.

Work progress

Date Milestone
3/5/2020 Submitted for inclusion
21/5/2020 Clarified requirements, bounty from DGBAT added