Categorygithub.com/dabankio/devtools4chains
modulepackage
0.1.1-beta.2020091202
Repository: https://github.com/dabankio/devtools4chains.git
Documentation: pkg.go.dev

# README

devtools4chains

Golang 公链开发工具。Dev tools for chains.Tools for integrating block chains into golang dev env.

典型的,开发DAPP 钱包等区块链生态中,在单元测试环境中,需要创建一个某条链的干净环境,测试完成后清理环境。

举个例子:我正在比特币钱包,那么开始前我需要部署一个bitcoind调试节点,节点数据需要是全新的,测试完成后关闭这个节点(必要的话还要清理数据),devtools4chains完成这项工作。

特性

  • 启动某个程序,返回关闭函数
  • 可定制启动参数
  • 可选的创建临时目录
  • 可选的跟踪打印日志或者将日志输出到某个文件
  • 支持的程序
    • getc ,需要$PATH下有getc
    • bitcoind
    • omnicored
    • geth
    • parity, 需要$PATH下有parity
    • bigbang, 需要$PATH下有bigbang
    • ganache-cli, 需要$PATH下有ganache-cli

使用

go get github.com/dabankio/devtools4chains

LICENSE

软件基于 木兰宽松许可证 发行

# Packages

No description provided by the author

# Functions

DockerRunBitcoin 。.
DockerRunBSV 。.
DockerRunDevCore 运行1个bbc core.
DockerRunGanacheCli run ganache-cli from docker, require: docker started daemon.
No description provided by the author
DockerRunNodeos docker run eos nodeos default port:8888, else 16000+ ~/.dockereos 使用固定的目录,所以不支持并发执行.
DockerRunOmnicored 。.
DockerRunPG run 一个pg container,构造一个空的pg database,通常用以执行单元测试,确保空库 EXPOSE 端口是随机的,这样可以进行并行的测试 可以选择 autoRemove container 返回:kill函数(停止pg容器),pgInfo 数据库信息, error 使用: stopPG, info, err := testtool.DockerRunPG(testtool.DockerRunOptions{}) if err != nil {...} defer stopPG() 建议:AutoRemove=true,除非你需要保留容器观察 为了方便调试创建的容器会给一个名字 pg_{端口}_{时间},例如:pg_59587_20200204T134858 启动后可以通过这些方式psql: psql -h 127.0.0.1 -p {port} -U postgres -W docker exec -it pg_{port}_{containerName} psql.
GetcDefaultArgs see the code.
GetIdlePort 随机获取一个空闲的端口.
JSONIndent marshal indent to string.
No description provided by the author
No description provided by the author
MustRunPG 启动一个docker pg供测试使用,自动注册停止pg 函数 ops[0]将生效(如果有) 无法创建数据库时 t.Fatal.
ParityEthereumDefaultArgs .
RPCCallJSON call json rpc.
RunGetcNode run getc server,print out to stdout, require getc in the $PATH, this func is used for testing getc in local test env return func() to kill getc server usage: killGetc, err := RunGetcNode(options) defer killGetc().
RunParityEthereum .
RunTestInDockerPG .
WaitSomething 等待fn() return nil.

# Constants

const.
bsv const.
const.
some docker const.
some docker const.
some docker const.
some dev data.
ref: https://developers.eos.io/welcome/latest/getting-started/development-environment/create-development-wallet/#step-6-import-the-development-key.
some getc related const.
some getc related const.
some getc related const.
some getc related const.
some getc related const.
some parity related const.
some parity related const.
some parity related const.
some parity related const.
some parity related const.
copied from https://github.com/paritytech/parity-ethereum/blob/master/ethcore/res/instant_seal.json removed: account 0000000000000000000000000000000000001337.
etc单元测试用这个 修改自:https://github.com/eth-classic/mordor/blob/master/parity.json 去除了nodes,engine改为instantSeal,networkID改为0x77,chainID改为0x4f,增加了默认有余额的地址.

# Variables

got from: cleos create key --to-console.

# Structs

DataDirOption .
DockerBitcoinInfo .
DockerBSVInfo .
DockerContainerInfo .
No description provided by the author
DockerPGInfo 运行的docker pg容器信息.
DockerRunNodeosOptions .
DockerRunOptions .
EOSKeyPair .
RPCInfo .
No description provided by the author
RunGetcOptions .
RunParityEthereumConfig parity 以太坊/以太经典运行配置.

# Type aliases

KillFunc kill func.