btcd

btcd github地址

1. 安装

1) 安装go的包管理工具glide

glide github地址

$ go get -u github.com/Masterminds/glide

出现的问题

[ERROR] Unable to export dependencies to vendor directory: Error moving files: exit status 1. output: Access is denied. 0 dir(s) moved

解决方法

修改%GOPATH%/src/github.com/Masterminds/glide/path/winbug.go中的CustomRename函数的75行

修改前:

cmd := exec.Command("cmd.exe", "/c", "move", o, n)

修改后:

cmd := exec.Command("cmd.exe", "/c", "xcopy /s/y", o, n+"\\")

修改完成后需要重新编译生成glide.exe

go  install github.com/Masterminds/glide

2) 安装btcd

git clone https://github.com/btcsuite/btcd %GOPATH%\src\github.com\btcsuite\btcd
cd %GOPATH%\src\github.com\btcsuite\btcd
glide install
go install . ./cmd/...

附: linux下对应操作:

$ git clone https://github.com/btcsuite/btcd $GOPATH/src/github.com/btcsuite/btcd
$ cd $GOPATH/src/github.com/btcsuite/btcd
$ glide install
$ go install . ./cmd/...

遇到的问题

由于墙的原因,go get可能无法安装需要的golang.org/x/crypto等包

解决方法

可参考go get golang.org/x 包失败解决方法

有条件的话,建议使用代理下载,方便很多,避免安装过程中手动解决依赖问题

安装成功的话会在%GOPATH%/bin 目录下生成以下可执行程序:

addblock  btcctl  btcd  findcheckpoint  gencerts  glide

3)安装btcwallet [可选]

git clone https://github.com/btcsuite/btcwallet %GOPATH%\src\github.com\btcsuite\btcwallet
cd %GOPATH%\src\github.com\btcsuite\btcwallet
glide install
go install . ./cmd/...

附: linux下对应操作:

$ git clone https://github.com/btcsuite/btcwallet $GOPATH/src/github.com/btcsuite/btcwallet
$ cd $GOPATH/src/github.com/btcsuite/btcwallet
$ glide install
$ go install . ./cmd/...

安装btcwallet之后

$ ls ~/go/bin/
addblock btcctl btcd btcwallet dropwtxmgr findcheckpoint gencerts glide sweepaccount

2. 配置

配置btcd.conf

在%GOPATH%/bin下创建sample-btcd.conf

完整版参考: sample-btcd.conf

内容如下:

[Application Options]
rpcuser=+9AqUHnIIJIAmYt7Et+jpwxOci8=
rpcpass=7sMYDaq4K8hRxUsCsTs1tJoaw/Q=
#rpclimituser=mylimituser
#rpclimitpass=Limitedp4ssw0rd
#configfile=H:/btcd/btcd.conf # 貌似修改无效,为了使用方便,直接放在默认位置(C:\Users\你的用户名\AppData\Local\Btcd\btcd.conf)好了
datadir=H:/btcd/data
logdir=H:/btcd/logs
rpccert=H:/btcd/rpc.cert
rpckey=H:/btcd/rpc.key
debuglevel=debug
#maxpeers=50

其中#开头的都是注释内容

默认配置文件路径:



#切换中%GOPATH%目录
E:\>cd %GOPATH%\bin
E:\>F:
# 执行btcd.exe,第一次初始化的时候会加载相同目录下的sample-btcd.conf文件,之后使用如果不用-C指定配置文件则加载默认配置C:\Users\你的用户名\AppData\Local\Btcd\btcd.conf
F:\Go\bin>btcd.exe

配置btcct.conf

在%GOPATH%\bin目录下创建btcctl.conf

内容如下:

[Application Options]
rpcuser=+9AqUHnIIJIAmYt7Et+jpwxOci8=
rpcpass=7sMYDaq4K8hRxUsCsTs1tJoaw/Q=
rpccert=H:/btcd/rpc.cert

注意

这里的rpcuserrpcpass 是btcd随机生成

,在C:\Users\你的用户名\AppData\Local\Btcd\btcd.conf中

测试访问

F:\Go\bin>btcctl ping
open C:\Users\hupeng\AppData\Local\Btcd\rpc.cert: The system cannot find the file specified.

和btcd.exe相同,如果不指定-C,会加载默认配置

,默认配置文件在C:\Users\你的用户名\AppData\Local\Btcctl\btcctl.conf

查看默认配置文件,内容如下:

[Application Options]
rpcuser=+9AqUHnIIJIAmYt7Et+jpwxOci8=
rpcpass=7sMYDaq4K8hRxUsCsTs1tJoaw/Q=

发现缺少rpccert,加入:

rpccert=H:/btcd/rpc.cert

再次尝试

F:\Go\bin>btcctl.exe ping
# 打开新的cmd命令终端
C:\Users\hupeng>btcctl.exe getblockcount
141953
C:\Users\hupeng>btcctl.exe getblockhash 0
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

访问网站(如:https://blockexplorer.com)验证hash。发现hash相同,至此环境搭建完毕

默认端口

Name Port
Default Bitcoin peer-to-peer port TCP 8333
Default RPC port TCP 8334

其他

By default, the rpc server now uses certs to protect the connection by default.

You can also check out https://github.com/conformal/btcd/tree/master/util/btcctl for an example of making an rpc connection using the cert btcd generates on initial startup.

When running btcd, if no configuration file is found, the sample-btcd.conf file is copied to the default path,

with the rpcuser and rpcpass lines populated with random base64 encoded values.

When running btcctl, if no configuration file is found, it attempts to read the btcd.conf file at its default path,

and create a basic btcctl.conf file by copying the rpcuser and rpcpass.

参考:

win10下btcd的安装和简单配置的更多相关文章

  1. Linux下的GitHub安装与简单配置教程 ~ 转载

    Linux下的GitHub安装与简单配置教程   1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...

  2. win10下Ubuntu18.04安装的简单教程

    win10下Ubuntu18.04安装的简单教程      操作系统:windows    软件:Vmware15.      一.下载 Ubuntu18.04镜像   Ubuntu18.04镜像下载 ...

  3. Linux下的GitHub安装与简单配置教程

    1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与使用 在ubuntu下可以使用如下命令进行查看系统 ...

  4. ECS centos6.8系统下从nginx安装到简单网站上线配置操作的完整记录

    1.准备工作 1.1已购买阿里云云服务器ECS 1.2域名已购买并解析成功 1.3安装有远程链接工具Xshell和文件传输工具Xftf,并链接上ECS实例 2.安装nginx(在Xshell操作) 2 ...

  5. win10下使用nodejs安装及webstorm创建express项目的指导

    title: win10下使用nodejs安装 win10下使用nodejs安装及webstorm创建express项目的指导 windows下nvm的安装 熟悉linux下nodejs开发的朋友应该 ...

  6. docker的安装和简单配置

    docker的安装和简单配置 docker是balabalabala...懒得介绍. 国内安装docker很蛋疼,按照官方配置好了软件源之后,几十MB的安装文件下载要半天,没办法,docker默认的软 ...

  7. Windows下Anaconda的安装和简单使用

    Windows下Anaconda的安装和简单使用 Anaconda is a completely free Python distribution (including for commercial ...

  8. <转载> FreeNAS的安装和简单配置 http://freenas.cn/?p=342

    前些日子在公司搭了一个模拟生产环境的平台.由于是测试环境,资源有限只能使用虚拟机实现,所以存储这块就想到了使用FreeNAS.很早以前玩儿过几次,当时是生产环境需要上存储设备,经过对比还是选择的更可靠 ...

  9. 大自然的搬运工:Ubuntu环境下gedit的一些个简单配置

    gedit是Ubuntu默认的文本编辑器,个人觉得还是不错的,用它来编程写一些小的demo也很方便,原谅我比较菜,vim用起来感觉打字速度真的很慢呀. 下面对gedit做一些简单配置,方便编程. 一. ...

随机推荐

  1. pymysql连接数据库,读取表内容

    python中有MySQLdb.pymysql等数据库模块,本文用pymysql模块连接mysql数据库,并且读取数据库表 看过其他博文的介绍,把程序和数据库比作两个目的地,将游标比喻成运输货车 很是 ...

  2. 解决Gephi导入csv文件时提示“边表格需要一个包含节点标号‘源’和‘目标’列” 问题的两个方案

    1.将csv文件在Excel中打开,并重新保存为csv. 2.将csv文件导入到sqlite,使用sqlite作为数据来源. 标准格式如下

  3. MapRedcue的demo(协同过滤)

    MapRedcue的演示(协同过滤) 做一个关于电影推荐.你于你好友之间的浏览电影以及电影评分的推荐的协同过滤. 百度百科: 协同过滤简单来说是利用某兴趣相投.拥有共同经验之群体的喜好来推荐用户感兴趣 ...

  4. TP方法中打印地址栏中所有的参数:

    print_r($this->request->param());//打印出地址栏中所携带的所有参数:

  5. Win10系列:C#应用控件基础23

    Telerik UI Controls for Windows 8 Telerik UI Controls for Windows 8是一套为创建Windows UWP应用而设计的工具集,开发人员可以 ...

  6. erlang大法好

    可惜haxe不能生成erlang.不过没关系,s6k输入法的实际执行方案,现在由typescript改用haxe.cdt3的ts地位不变. 以后这个博客大部分内容都是跟haxe/typescript相 ...

  7. Ubuntu 12.04安装教程详细步骤(图解)

    1.选择你所想要的语言,如图. 2.选择安装Ubuntu(I). 3.进入Ubuntu安装等待 4.设置处理器信息 5.同意选择的语言 6.配置键盘信息 7.键盘布局选择汉语 8.配置键盘选择汉语 9 ...

  8. 分数化小数(decimal)

    分数化小数 ①我的程序 #include<iostream>using namespace std;int main(void){ int a,b,c,kase=0; while(scan ...

  9. Java实验6

    dbq时隔这么久我总算又来更新了 这次说说一个很好玩的类,JLabel的如何改里面字的属性 label.setFont(new Font("宋体", 0 , 15)); 这个指的是 ...

  10. Python全栈之路----函数

    基本介绍 定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 编程中的函数在英文中有很多不同的叫法:在BASIC中叫做subroutine(子过程或 ...