美文网首页嵌牛IT观察
如何运行一个比特币节点

如何运行一个比特币节点

作者: 马行健 | 来源:发表于2018-12-25 10:21 被阅读2次

姓名:马行健

学号:16020199036

转载于:https://zhuanlan.zhihu.com/p/27981919

【嵌牛鼻子】:比特币是什么?比特币节点是怎么运行的?

【嵌牛导读】:现在区块链技术越来越火,作为区块链技术鼻祖的比特币无疑是学习区块链技术最好的实例,如果没有运行过一个比特币节点,实在难以体会到比特币的神奇和精妙。【嵌牛原文】:

如何运行一个比特币节点

比特币网络每天承载着几十万笔交易,在区块链的不断延长中,交易被万世不移地记录了下来。而完成这一伟大过程的居然只有不到8000个节点,他们分布在全球各地,由部分比特币使用者、矿工、交易平台以及志愿者们运行和维护。

为什么我需要运行一个自己的节点?

大多数人只是在交易平台购买比特币,在最终把比特币提取到自己的钱包之前,这些比特币仅仅是交易平台数据库中的一个数值,交易平台完全有可能凭空在数据库中增加数量。当年门头沟(Mt Gox)交易平台被黑客攻击丢失比特币后,就是用这种无中生有的方式欺骗用户,直到用户挤兑,交易平台没有足够的比特币来兑付,最终跑路。长期持有比特币时,出于安全考虑,应该将比特币提取到自己的钱包中,这就需要在本地运行一个自己的比特币节点来确认资金是否到账。

比特币网络是一个P2P的结构,只有拥有足够多的节点,才能更好的抵抗各种干扰和攻击,如果没有足够多的节点,比特币安全性将出现严重隐患。

区块链中隐藏了很多有意思的信息,挖掘这些隐藏的信息是非常有趣的,运行一个节点将能够获得全部区块链的数据。

安装(以Ubuntu14.04为例):

比特币开发组已经提供了预编译好的二进制文件,开箱即用,很方便是不是。

sudo apt-get update

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:bitcoin/bitcoin

sudo apt-get update

sudo apt-get install

安装完成后,使用如下命令启动节点:

bitcoind -daemon -txindex

如果一切顺利,你将看到如下输出:

Bitcoin server starting

节点启动后,将开始自动联网同步区块链信息,现在比特币区块链已经有140G左右,这需要比较长的时间,去睡个觉吧。

使用:

查看本地节点状态

bitcoin-cli getinfo

{

  "version": 140200,

  "protocolversion": 70015,

  "walletversion": 130000,

  "balance": 0.00000000,

  "blocks": 1744,    #已经同步了1744个区块,网络上现在总计已经有了近50w个区块

  "timeoffset": 2,

  "connections": 8,

  "proxy": "",

  "difficulty": 1,

  "testnet": false,

  "keypoololdest": 1500532351,

  "keypoolsize": 100,

  "paytxfee": 0.00000000,

  "relayfee": 0.00001000,

  "errors": ""

}

查看指定高度区块的Hash值

bitcoin-cli getblockhash 0

000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

查看区块内容

bitcoin-cli getblock 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

{

  "hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",

  "confirmations": 41224,

  "strippedsize": 285,

  "size": 285,

  "weight": 1140,

  "height": 0,

  "version": 1,

  "versionHex": "00000001",

  "merkleroot": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",

  "tx": [

    "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"

  ],

  "time": 1231006505,

  "mediantime": 1231006505,

  "nonce": 2083236893,

  "bits": "1d00ffff",

  "difficulty": 1,

  "chainwork": "0000000000000000000000000000000000000000000000000000000100010001",

  "nextblockhash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"

}

PS:

还记得中本聪在创世区块中留下的那句话吗?

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

这句话就在第一个区块文件的第一个区块中,默认位置在~/.bitcoin/blocks/blk00000.dat

如何运行一个比特币节点

相关文章

  • 04比特币及区块链常见问题-挖矿相关

    比特币挖矿相关问题 1、比特币节点 运行区块链软件的计算机就是一一个节点· 每个比特币钱包都是一一个节点 全节点·...

  • 如何运行一个比特币节点

    姓名:马行健 学号:16020199036 转载于:https://zhuanlan.zhihu.com/p/27...

  • 挖矿二

    专业挖矿设备连接着一个运行完整比特币节点的服务器。一些矿工是在没有完整节点的条件下进行挖矿,验证交易后,比特币节点...

  • P2P网络架构

    “比特币网络”是按照比特币P2P协议运行的一系列节点的集合。除了比特币P2P协议之外,比特币网络中也包含其他协议。...

  • 比特币节点运行参数

    比特币是一种新型的P2P网络虚拟币,值得您拥有!")官方客户端有两个版本:一个是图形界面的版本,通常被称为 Bit...

  • 比特币运行测试节点

    在实际的开发中,需要运行一个测试节点来测试自己的程序。搭建测试节点的方式是只要在配置文件中添加一个参数 testn...

  • 运行比特币全节点

    1.编写比特币全节点配置文件 bitcoin.conf datadir=/mnt/hgfs/ubuntu/bitc...

  • 网络

    “比特币网络”是按照比特币P2P协议运行的一系列节点的集合。除了比特币P2P协议之外,也包含其他协议。例如Stra...

  • 挖矿运行全节点很重要吗?

    国内多数矿工运行的都不是比特币全节点。这种情况对以后国内挖矿业有什么影响? —— sanjin 摘要:“比特币全节...

  • 盈链日报:全球首例区块链贷款在蚂蚁金服落地,嘉楠耘智向SEC递交

    热点:美国SEC计划运行比特币和以太坊节点,嘉楠耘智递交上市申请 1)美国SEC计划通过承包商运营一个比特币和以太...

网友评论

    本文标题:如何运行一个比特币节点

    本文链接:https://www.haomeiwen.com/subject/jovxlqtx.html