bitcoin-06-bitcore钱包使用
比特币钱包不管是开发者,还是投资者,比特币钱包都是一个不错的学习工具,和常用的电子钱包相差不大。开发者可以很好的从这个工具是学习比特币在客户端的应用,非常值得借鉴,包括现在很多项目都有比特币的影子,有些甚致直接拿到比特币的代码改改就发行自己加密货币。
比特币官网: https://bitcoin.org/zh_CN/
直接跳到钱包选择页面: https://bitcoin.org/zh_CN/choose-your-wallet?step=5&platform=mac
我这里使用的时 BitCore 钱包,这个钱包比较成熟。https://bitcoin.org/zh_CN/wallets/desktop/mac/bitcoincore/?step=5&platform=mac
使用1.同步数据初次使用比特币钱包,会进行一次全量数据同步,大概在 500G 左右,所以硬盘要保证够大,同步完成后,会进行裁剪。大几2G左右大小。
2.创建钱包同步完成后,才能进行后续的操作。先创建钱包密码,这个密码会需要记住,不能忘记,否则会使用不了钱包。
3.导出私钥私钥非常重要,保证 ...
bitcoin-05-比特币区块同步机制
前言
一个区块生产出来之后,需要进行同步给其它的节点。由于区块链是去中心化的,所以所有节点都保留相同的全量数据。当一个区块打包好一个区块后,需要同步给其它节点,进行校验 和 上链。只有上链的成功的区块,才算是区块链上的一个块。换句话说,区块可能上链成功,也有可能上链不成功。
同步区块中的问题
为什么要同步区块
如何保证同步
网络延迟如何解决
同时收到相同高度的块,该同步谁的块
如何得知块已被确认
被丢块的节点会怎么样
区块打包区块广播区块验证区块上链区块回滚
bitcoin-04-coinbase交易
coinbase交易,也是被打包在区块中的第一笔交易,只是这笔是区块的第一笔交易,是挖矿产生的奖励。
查看 coinbase交易1https://api.blockcypher.com/v1/btc/main/txs/1a44cb6551af919652eac49d953c50ab2acb1ebdfe7d2b20ed3c1944bd37ac96
coinbase 结构可以很明显的看到,除了公共字段外,有 outputs、inputs 两个字段。
outputs: 交易输出
inputs: 交易输入
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566{ block_hash: "00000000000000000000bca6ccc2ef309fd814f80a55b3e08a4212326137d7d2", block_height: 681181, ...
bitcoin-03-比特币区块结构
区块结构
区块链开发之前,先了解比特币的区块结构,有利于了解后续比特币的各种数据结构的做用。
本文要介结几个重要概念:
区块结构
区块头
区块体
区块查看工具
区块区块是比特币的核心。当前比特币网络,每10分产一个块。区块的作用: 比特币最核心的数据结构,包含了交易的重要标识,包括:区块头、区块体、区块大小等数据。
一个完整的区块结构
数据项
字节
字段
说明
Magic NO
4
魔数
常数0xD9B4BEF9
Blocksize
4
区块大小
用字节表示的该字段之后的区块大小
Blockheader
80
区块头
组成区块头的几个字段
Transaction counter
1-9
交易计数器
该区块包含的交易数量,包含coinbase交易
Transactions
不定
交易
记录在区块里的交易信息,使用原生的交易信息格式,并且交易在数据流中的位置必须与Merkle树的叶子节点顺序一致
这里最典型的要数 区块头和 区块体 了,因为它们通常在学习区块链的时候,比较能说明区块链的重要特性。
另外区块链不看不见摸不着的东西,人往往需要可视化的模型会 ...
bitcoin-02-比特币技术体系
学习区块链技术,首先应该了解最经典的 比特币。比特币做为最早的分布式去中心化的区块链应用,其经典设计值得学习。
比特币架构比特币通过将各项技术进行结合,创造出来的这个产品,其本质的功能是记账,副做用是炒。比特币的设计是为了保证所有数据是分布式的、去中心化的保存数据,防止数据在中心的节点中保存。
自上而下,共分6层
应用层
RPC 层
网络层
共识层
数据层
存储层
1.应用层包括比特币钱包、客户端等种上层的应用,一般是比特币程序本身的外部应用。以比特币钱包为例,比特币钱包有很多种,可以上官网上下载不同钱包,比如最简单的钱包,早期这个钱包还保留有CPU挖矿功能。现在版本已不支持,可以参考官方 Github 文档:
https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.13.0.md
2.RPC 层RPC 层的作用是进行RPC 通信。测试可以使用 BitCore 这个工具来进行测试。
测试一个 RPC 命令,查看区块信息: getblockchaininfo命令行
1234 ...
bitcoin-01-区块链初识
区块链技术,发展到目前,主流的区块链有两个代表,一个是以 比特币(BTC) 为代表的分布式去中心化记账本,一个是以 以态坊(ETH) 为代表的图灵完备的分布式去中心化计算机。名词解释会放到下面。
为什么写这个文章投身加密货币研究有一段时间了,其间了解到了比特币的原理和应用,想把了解到的知识整理成一个简单直白的系列科普文章,希望可以帮助大家轻松简单学习并使用加密货币。本篇作为开篇,仅提一些简单概念,以免概念太多,让人望而却步。
加密货币加密货币当下有两种主流的技术模型:
比特币
以太坊
这两种加密货币有本质的区别,之所以很少听说以太坊,是因为以太坊出现的在比特币之后,出现在人们的视野里比较晚,但是其设计理念相较比特币较超前,当前和比特币并驾齐驱。现在主流的一些币都是基于以太坊的基础上进行设计,还可以基于以太坊发行自己的货币,在这里不用深究,后续会深入讲解。
比特币(Bitcoin)
本质是分布式记账本
比特币的宗旨是做为一个去中心化的分布试记账本,仅为了记账而存在。比特币的由来就不赘述,可自行了解。BTC是一种点对点(Peer-2-Peer)传输的数字加密货币。宗旨在于使用点网 ...