首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
DeAI
掘友等级
全栈工程师
|
区块链
Coder
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
72
文章 72
沸点 0
赞
72
返回
|
搜索文章
最新
热门
比特币源码分析-网络(三)
前两篇文章主要从整体逻辑上对代码进行了梳理,这篇文章将主要讲述网络模块主要的函数,以及其具体实现。 遍历断开连接节点数组,当节点没有引用,且能获取节点的相关锁,则移除节点,删除此节点。 重新设置节点数量。 调用select函数监听socket。 遍历节点数组,增加节点的引用次数…
比特币源码分析:任务调度器的使用
这三个方法属于生产者要生产任务的方法, 任务的消费者调用serviceQueue等待取走任务, 然后执行。 这个实例对应只有一个消费者线程, 即唯一的后台调度器线程。 进程启动后, 全局对象连接管理器connman初始化后, connman 的Start 方法最后,通过sche…
比特币源码分析:多线程检查脚本
在 AppInitMain 中根据选项,创建多个线程。 此处使用了boost的线程库,在绑定的线程函数ThreadScriptCheck中,调用一个全局状态的任务队列scriptcheckqueue。每个线程都去该队列中去任务,当队列中无任务可执行时,线程被条件变量阻塞。 队列…
比特币源码分析-网络(一)
getdata / inv消息类型。这些号码由协议定义。 当需要获取inventory时,发送此命令,发送时,需要指定范围。接收到此命令后,按指定范围获取inventory数据(PushGetBlocks)。 getdata消息请求来自另一个节点的一个或多个数据对象。这些对象由…
golang-event在以太坊中的使用
github.com/ethereum/go-ethereum/event包实现了一个事件发布订阅的库,使用接口主要是event.Feed 类型,以前还有event.TypeMux 类型,看代码注释,说过时了,目前主要使用Feed 类型。 Err() 返回获取error 的ch…
Bitcoin通过脚本进行一段时间的资金冻结
允许一个交易的输出在未来某个时间之后才可以进行花费。即可以将资金锁定在未来的某个时间之后才可以使用。 查看时间检测功能是否启用;如果未启用,接着查看客户端是否允许启用OP_NOPn 操作码,禁止的情况下,直接报错;否则执行OP_NOPn 原始操作,即无操作,跳出。 此时执行时间…
[译]BIP133 feefilter message
增加一个新的消息类型--“feefilter”,用于告知 peer 不要向该节点发送低于指定费率的交易的“inv”。 为了防止未开采的低费用的攻击和一些垃圾邮件的交易,Bitcoin Core 0.12中引入了有限 mempool 的概念。同时引入了拒绝过滤器,以防止同一交易因…
[译]bip-0199:hash时间锁定合约交易
该BIP主要描述了广义的 off-chain 合约谈判的脚本。 hash 时间锁定合约(HTLC)是一种脚本,允许指定方(“卖方”)通过公开 hash 的原始信息来花费资金。 在退款情况下,它还允许第二方(“买方”)在超时达到后花费这笔资金。 [HASHOP] 代表 OP_SH…
译-BIP16:P2SH交易脚本
这个BIP描述了比特币脚本系统中一个新的标准交易类型,定义了额外的验证规则,但是只能适用于新的交易。 pay-to-script-hash脚本类型的目的是将构建交易的成本从发送交易方转嫁到赎回方。 它的好处是允许交易发起者能够构建各种交易,不管多么复杂,只需要使用20字节固定长…
比特币源码分析-boost::signal的使用
bitcoin 代码中大量使用 boost::signal, boost::signal 实现了信号与槽的事件通知机制,或者说是一种消息的发布与订阅机制, signal 类型是一个可调用类型,slot 就是callback 对象,或者说事件的订阅者,signal 实例是一个可调…
下一页
个人成就
优秀创作者
文章被点赞
2,190
文章被阅读
154,572
掘力值
5,459
关注了
10
关注者
5,572
收藏集
1
关注标签
13
加入于
2017-01-10