linux下安装btcd和btcwallet

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31739317/article/details/88673787

前言

入坑区块链了,最近在帮实验室的师兄做论文实验,论文的内容是实现一种新的公链共识算法。
实验内容是 打算更改Btcd共识层的代码,然后在simnet环境下进行多节点的测试。
Golang之前没有接触过,只知道是一门比较适合写分布式的编译型语言,正好趁着这次机会学习一下。
本文介绍btcd和btcwallet的安装

环境搭建

配置git环境

配置Golang环境 (版本 1.11.5)

  1. 从官网下载go1.11.5版本的安装包
    wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz

  2. 解压安装至/usr/local
    tar xzf go1.11.5.linux-amd64.tar.gz -C /usr/local

  3. 配置Golang工作目录

    #把目录放置在用户目录下
    mkdir $HOME/go
    mkdir $HOME/go/src 
    mkdir $HOME/go/bin 
    
  4. 配置Golang环境变量

    vim ~/.zshrc	
    # 因为我安装了zsh,所以更改环境变量的地方是~/.zshrc,如果使用的是默认的bash的话,那么修改的是~/.bashrc 
    # 在文件末尾添加
    export GOPATH=$HOME/go
    export GOROOT=/usr/local/go
    export GOBIN=$GOROOT/bin
    export GOTOOLS=$GOROOT/pkg/tool
    export PATH=$PATH:$GOBIN:$GOTOOLS
    
  5. 使配置生效
    source ~/.zshrc

  6. 验证环境是否安装正确
    go env

安装Go的包管理工具glide

  1. 通过go安装
    go get -u github.com/Masterminds/glide
  2. 验证glide是否安装成功
    glide --veriosn

拷贝btcd源码

  1. 使用git拷贝源码
    git clone https://github.com/btcsuite/btcd $GOPATH/src/github.com/btcsuite/btcd

使用glide安装btcd所需依赖

  1. 切换目录
    cd $GOPATH/src/github.com/btcsuite/btcd

  2. 生成glide所需要的依赖文件
    glide init

  3. 下载依赖
    glide install

    注意
    1. 这里首先需要glide init一下,网上文章一大抄很多都把这步漏了,glide init之后会生成glide install所需要的依赖文件
    2. ok 没错,glide install 会出错 因为有库被墙了。所以为了以后实验的便捷性,我这里使用了外网的服务器,所以不会报错。如果不愿意租外网的服务器,我后续再出一个手动拉源码的教程,经测试也是可以用的

编译btcd及相关组件

  1. 利用go install编译btcd 以及 cmd下操作组件
    cd $GOPATH/src/github.com/btcsuite/btcd
    go install . ./cmd/...
    

拷贝btcwallet源码

这里值得注意的是Golang版本的比特币客户端btcd是没有集成钱包功能的,所以为了使用完整的比特币客户端我们还需要另外下载和编译btcwallet的组件

  1. 使用git下载btcwallet源码
    git clone https://github.com/btcsuite/btcwallet $GOPATH/src/github.com/btcsuite/btcwallet

使用glide安装btcwallet依赖

  1. 切换到btcwallet目录
    cd $GOPATH/src/github.com/btcsuite/btcwallet
  2. 初始化glide需要的依赖文件
    glide init
  3. 安装所需依赖
    glide install

编译btcwallet及相关组件

  1. 利用go install编译btcwallet 以及 cmd下操作组件
    cd $GOPATH/src/github.com/btcsuite/btcwallet
    go install . ./cmd/...
    

给btcd和btcwallet加入默认的配置文件

这里将代码包中的配置文件加入到 btcd 和 btcwallet的启动文件夹去,这两个文件都是注释过的,所以没有对配置起什么作用,但是必须执行这两步,不然后面启动程序的时候会报缺少文件的错误。
后续启动的时候也可以写配置文件来代替在命令行中写参数,两者没有什么区别

  1. 添加btcd配置文件
    cd ~
    mkdir .btcwd
    cp $GOPATH/src/github.com/btcsuite/btcd/sample-btcd.conf ~/.btcd/btcd.conf
    
  2. 添加btcwallet配置文件
    cd ~
    mkdir .btcwallet
    cp $GOPATH/src/github.com/btcsuite/btcwallet/sample-btcwallet.conf ~/.btcwallet/btcwallet.conf
    

结语

到这里我们就安装好了btcd和btcwallet的代码和所有需要的库,也进行了初步的配置。
下一篇文章我会介绍simnet环境(模拟环境)下,单节点比特币节点的运行和rpc的使用方法。
结尾处我建议,如果真想体验整个btcd的流程,还是给linux安装一个zsh(然后配置一下oh-my-zsh)吧,后续使用btcd和btcwallet还有用btcctl进行交互的时候需要在命令中指明很多的参数,基于zsh的历史补全功能可以大大加快实验速度

猜你喜欢

转载自blog.csdn.net/qq_31739317/article/details/88673787