8BTCCI: 14059.36 -5.57% 8BTCVI: 7808.44 -6.38% 24H成交额: ¥4182.37亿 +12.61% 总市值: ¥18485.61亿 -5.59%
姜家志 浏览量 71.7万 获赞数 3 粉丝数 32
作者简介:该作者未设置相关简介。
  • 文章30
  • 收到的评论
  • 最新
  • 热门
Wormhole测试手册

Wormhole测试手册

一、测试环境搭建 1. 硬件环境 2. 操作系统及依赖软件 3. 编译安装 4. 运行及数据同步 二、测试流程 1. 配置本地钱包 2. 从BCH测试网络获取bch测试币 3. 燃烧bch测试币获取whc测试币 4. 创建...
姜家志 2018-07-19 Wormhole
29378
Wormhole: 一种基于Bitcoin Cash的智能合约实现方案

Wormhole: 一种基于Bitcoin Cash的智能合约实现方案

摘要 Bitcoin Cash(BCH)在区块高度478,558上产生,一直致力于为世界带来一种可靠的电子现金,履行最初的比特币作为「点对点数字现金」的承诺。其具有全球无缝流通、无许可(Permissionless)创新等特点。在B...
姜家志 2018-07-17 比特币现金 Wormhole
28390
比特币源码分析:任务调度器的使用

比特币源码分析:任务调度器的使用

  任务调度器   Bitcoin 进程启动后,有一个专门的线程做任务调度, 这些任务根据指定的时刻,执行对应的函数: bool AppInitMain() { ....... // Start the lightweight task schedu...
姜家志 2018-03-24
33462
比特币源码分析:多线程检查脚本

比特币源码分析:多线程检查脚本

多线程脚本检查启动   多线程脚本检查启动代码: bool AppInitMain(Config &config, boost::thread_group &threadGroup, CScheduler &scheduler) { ... if (nScriptCheckThrea...
姜家志 2018-03-21
24417
比特币源码分析-网络(一)

比特币源码分析-网络(一)

在梳理代码逻辑之前,首先介绍几个比较重要的结构:   CMessageHeader   消息头包含的内容: class CMessageHeader { public: enum { MESSAGE_START_SIZE = 4, ...
姜家志 2018-03-20
74630
golang-event 在以太坊中的使用

golang-event 在以太坊中的使用

go-ethereum中go-event库的使用 github.com/ethereum/go-ethereum/event 包实现了一个事件发布订阅的库,使用接口主要是 event.Feed 类型,以前还有 event.TypeMux 类型,看代码注释,说过时了,目前主要使用 F...
姜家志 2018-03-18
31470
Bitcoin如何通过脚本进行一段时间的资金冻结

Bitcoin如何通过脚本进行一段时间的资金冻结

  该脚本的格式   - 锁定脚本: < expiry time > OP_CHECKLOCKTIMEVERIFY OP_DROP OP_DUP OP_HASH160 < pubKeyHash > OP_EQUALVERIF...
姜家志 2018-03-15
23244
block header概念解析

block header概念解析

block headers 以 80字节的格式进行序列化,然后作为比特币工作量验证算法的一部分进行哈希处理,使序列化头部格式成为共识规则的一部分。 哈希按内部字节顺序排列; 其他值都是小端顺序。 block header的消...
姜家志 2018-03-14
21657
bip-0199:hash时间锁定合约交易

bip-0199:hash时间锁定合约交易

  摘要   该BIP主要描述了广义的 off-chain 合约谈判的脚本。   总结   hash 时间锁定合约(HTLC)是一种脚本,允许指定方(“卖方”)通过公开 hash 的原始信息来花费资金...
姜家志 2018-03-13 BIP
18370
比特币源码分析-boost::signal 的使用

比特币源码分析-boost::signal 的使用

bitcoin 代码中大量使用 boost::signal, boost::signal 实现了信号与槽的事件通知机制,或者说是一种消息的发布与订阅机制, signal 类型是一个可调用类型,slot 就是callback 对象,或者说事件的订阅者,signal 实例...
姜家志 2018-03-12
19439
BIP16 P2SH交易脚本

BIP16 P2SH交易脚本

  摘要   这个BIP描述了比特币脚本系统中一个新的标准交易类型,定义了额外的验证规则,但是只能适用于新的交易。   动机   pay-to-script-hash脚本类型的目的是将构建交易...
姜家志 2018-03-12 BIP
21825
比特币源码分析:utxo刷盘

比特币源码分析:utxo刷盘

utxo的刷盘逻辑主要在txdb.cpp中实现,主要是 CoinsViewDB::batchwrite这个函数。下面我们来分析一下: bool CCoinsViewDB::BatchWrite(CCoinsMap &mapCoins, const uint256 &hashBlock) {...
姜家志 2018-03-02 UTXO
21497
比特币源码分析:txdb模块(三)

比特币源码分析:txdb模块(三)

前一篇文章主要介绍了,txdb 的一个整体逻辑,本文将详细描述 txdb 模块与 leveldb 的交互,以及对 leveldb 的封装。 上一篇文章提到,在 dbwrapper.h 的 CDBWrapper 是对 leveldb 的一个简单封装,所有要写入...
姜家志 2018-03-02
15360
txdb 源码分析系列(二)

txdb 源码分析系列(二)

本文主要从整体逻辑方面,抽象 txdb 模块的代码构建逻辑。 首先 txdb 模块主要是用来实现 block 和 utxo 两个模块的落盘逻辑,所以我们将分为两个大的部分,来对其逻辑一一梳理。   原始数据块 &nb...
姜家志 2018-03-01
13549
比特币源码分析:txdb模块(一)

比特币源码分析:txdb模块(一)

本小节主要介绍 txdb 以及其所引用到的代码中一些常量所表示的含义。 在 txdb.cpp中,我们能够看到其定义了很多 char 类型的常量: static const char DB_COIN = 'C';static const char DB_COIN...
姜家志 2018-02-26
18116
BIP125:交易信号的添加

BIP125:交易信号的添加

  概述   现在的许多节点不会用另一个花费相同输入的交易来代替其流量的任何交易,使得花费者难以调整其先前发送的交易以处理意外的确认延迟或执行其他有用的替换。 此处所述的 opt-in full Re...
姜家志 2018-02-25 BIP
19897
比特币改进协议BIP 9 简述

比特币改进协议BIP 9 简述

首先明白:软分叉升级主要是在原有的主链上增加共识规则。 软分叉的目的是为了让老版本的客户端能够兼容。我们人为设定一个开始时间和结束时间,表示在这个范围内,我们进行软分叉升级,我们规定每到 2016 的整数...
姜家志 2018-02-24 BIP
14383
BCH工作量证明源代码分析

BCH工作量证明源代码分析

  概述   Bitcoin Cash 源码中,POW功能模块,主要提供两个函数,供上层进行调用: GetNextWorkRequired: 获取下个块的工作量(即难度) CheckProofOfWork: 检查块的工作量是否合法...
姜家志 2018-02-23 比特币现金
19974
[译]BCH脚本应用程序:Tokens(OP_GROUP)

[译]BCH脚本应用程序:Tokens(OP_GROUP)

具有代表性的货币是用于任何没有内在价值但可以交换定义数量的商品(通常是黄金或白银)的代币的术语。 本节将讨论如何使用 satoshis 作为代表性货币,更一般地说,使用satoshis来代表所有权 - 例如股票,债券,实物...
姜家志 2018-02-22 比特币现金
17000
[译]无脚本的脚本:比特币如何支持没有智能合约的智能合约

[译]无脚本的脚本:比特币如何支持没有智能合约的智能合约

比特币的能力是有限的。同时,智能合约可能是资源密集型的。所以即使比特币一直支持基本的智能合约功能,但这两者从来都不是天作之合。 但是由 Blockstream 的数学家 Andrew Poelstra 带头研究的最近一个话...
姜家志 2018-02-19 智能合约
19058