dcrm-walletService

module
v0.0.0-...-e59d3c4 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2020 License: Apache-2.0

README

Introduction

DCRM wallet service is a distributed key generation and distributed signature service that can serve as a distributed custodial solution.

Note : dcrm-walletService is considered beta software. We make no warranties or guarantees of its security or stability.

Prerequisites

  1. VPS server with 1 CPU and 2G mem
  2. Static public IP
  3. Golang ^1.12

Setting Up

Clone The Repository

To get started, launch your terminal and download the latest version of the SDK.

mkdir -p $GOPATH/src/github.com/fsn-dev

cd $GOPATH/src/github.com/fsn-dev

git clone https://github.com/fsn-dev/dcrm-walletService.git

Build

Next compile the code. Make sure you are in dcrm-walletService directory.

cd dcrm-walletService && make

Run

First generate the node key:

./bin/cmd/gdcrm --genkey node1.key

then run the dcrm node 7x24 in the background:

nohup ./bin/cmd/gdcrm --nodekey node1.key &

The gdcrm will provide rpc service, the default RPC port is port 4449.

Note: Before use walletService RPC API, please wait at least 5 minutes after running the node which need to prepare dcrm env.

Front-end

After running the dcrm wallet rpc service and get the rpc IP:port, we can use SMPCWallet to connect the rpc service. This front-end can create distributed custodial account which support BTC/ETH/FSN.

Directories

Path Synopsis
cmd
bootnode
bootnode runs a bootstrap node for the Ethereum Discovery Protocol.
bootnode runs a bootstrap node for the Ethereum Discovery Protocol.
secp256k1
Package secp256k1 wraps the bitcoin secp256k1 C library.
Package secp256k1 wraps the bitcoin secp256k1 C library.
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.
internal
common
Package common contains various helper functions.
Package common contains various helper functions.
common/hexutil
Package hexutil implements hex encoding with 0x prefix.
Package hexutil implements hex encoding with 0x prefix.
common/math
Package math provides integer math utilities.
Package math provides integer math utilities.
common/mclock
Package mclock is a wrapper for a monotonic clock source
Package mclock is a wrapper for a monotonic clock source
Go port of Coda Hale's Metrics library <https://github.com/rcrowley/go-metrics> Coda Hale's original work: <https://github.com/codahale/metrics>
Go port of Coda Hale's Metrics library <https://github.com/rcrowley/go-metrics> Coda Hale's original work: <https://github.com/codahale/metrics>
exp
Hook go-metrics into expvar on any /debug/metrics request, load all vars from the registry into expvar, and execute regular expvar handler
Hook go-metrics into expvar on any /debug/metrics request, load all vars from the registry into expvar, and execute regular expvar handler
mpcdsa
Package node sets up multi-protocol Ethereum nodes.
Package node sets up multi-protocol Ethereum nodes.
p2p
Package p2p implements the Ethereum p2p network protocols.
Package p2p implements the Ethereum p2p network protocols.
discover
Package discover implements the Node Discovery Protocol.
Package discover implements the Node Discovery Protocol.
discv5
Package discv5 implements the RLPx v5 Topic Discovery Protocol.
Package discv5 implements the RLPx v5 Topic Discovery Protocol.
event
Package event deals with subscriptions to real-time events.
Package event deals with subscriptions to real-time events.
metrics
Go port of Coda Hale's Metrics library <https://github.com/rcrowley/go-metrics> Coda Hale's original work: <https://github.com/codahale/metrics>
Go port of Coda Hale's Metrics library <https://github.com/rcrowley/go-metrics> Coda Hale's original work: <https://github.com/codahale/metrics>
nat
Package nat provides access to common network port mapping protocols.
Package nat provides access to common network port mapping protocols.
netutil
Package netutil contains extensions to the net package.
Package netutil contains extensions to the net package.
protocols
Package protocols is an extension to p2p.
Package protocols is an extension to p2p.
rlp
Package rlp implements the RLP serialization format.
Package rlp implements the RLP serialization format.
simulations
Package simulations simulates p2p networks.
Package simulations simulates p2p networks.
rpc
Package rpc provides access to the exported methods of an object across a network or other I/O connection.
Package rpc provides access to the exported methods of an object across a network or other I/O connection.

Jump to

Keyboard shortcuts

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