Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

DOSNetwork/core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

914 Commits

Repository files navigation

DOS Client and Core Libraries

Go Report Card Maintainability GoDoc

Prerequisites:

Cloud Server / VPS Recommendations
  • AWS Lightsail - Linux virtual server (1 cpu, 1GB memory, 40GB ssd, 2TB bandwidth)
  • Google Cloud Platform - Compute Engine General purpose (N2)
  • Vultr - Cloud Compute (1 cpu, 1GB memory, 25GB ssd, 1TB bandwidth)
  • Digital Ocean - Droplet (1 cpu, 25GB ssd, 1TB bandwidth)
  • Linode - Shared virtual Instances (1 cpu, 1GB memory, 25GB ssd, 1TB bandwidth)
  • [Others]
Verified and recommended installation environment
  • Ubuntu 18.04 x64 LTS or higher
  • An IPv4 address
    • Run $ dig +short myip.opendns.com @resolver1.opendns.com
    • Or get it from cloud server providers. Most vps / cloud server
  • With below ports open:
    • udp port 7946
    • tcp port 7946,9501
  • It's recommended to generate ssh login key pairs and setup public key authentication instead of using password login for server security and funds safety:
    • Learn how to setup SSH public key authentication on Ubuntu 18.04 and disable password logins.
Bonding enough DOS tokens to run a node
  • Acquire at least 800,000 DOS tokens, (and optional - acquire several DropBurn token to reduce (up to 30%) the amount of DOS tokens needed to start a node, distribution plan be out later).
  • Replace your node ip address in config.json
  • Node runners currently earn three types of incomes: (Self-bonded) staking rewards, (other delegators') staking reward shares, oracle request processing fees.
Register and setup Infura api key

Run with docker image

Building binary from source

  • Install go1.11 or higher and setup golang workingspace like below:

    $ sudo apt-get install golang 
    $ sudo apt-get install build-essential
  • Open ~/.bashrc and set $GOPATH and $PATH environmental variables:

    $ vim ~/.bashrc
     export GOPATH=$HOME/go
     export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
    $ source ~/.bashrc
  • Download source code:

    $ mkdir -p $GOPATH/src/github.com/DOSNetwork
    $ cd $GOPATH/src/github.com/DOSNetwork && git clone https://github.com/DOSNetwork/core.git
    $ cd core
    $ git checkout v1.0.4-m
  • Build:

    • $ GO111MODULE=on go mod download - to download building dependencies
    • Dev dependencies: solc-v0.5.17, abigen-v1.9.18-stable
    • $ make - to build release version client
  • Run:

    $ ./dos.sh start
  • Dev tips:

    • $ go fmt ./... to reformat go source code.
    • $ golint to fix style mistakes conflicting with effective go. (golint tool for vim users.)
    • $ make devClient to build develoment version client.
    • $ make updateSubmodule to fetch latest system contracts from repo, instead of making contract modifications locally.
    • $ make gen to generate binding files for system contracts.
    • $ make clean to remove built binaries or unnecessary generated files.
    • Use solc-select tool to select / pin to specific solidity compiler version.

About

Core Protocols, Libraries and Off-chain Clients

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 9

Languages

AltStyle によって変換されたページ (->オリジナル) /