E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
比特币源码分析
比特币源码分析
:任务调度器的使用
任务调度器Bitcoin进程启动后,有一个专门的线程做任务调度,这些任务根据指定的时刻,执行对应的函数:boolAppInitMain(){.......//StartthelightweighttaskschedulerthreadCScheduler::FunctionserviceLoop=boost::bind(&CScheduler::serviceQueue,&scheduler);t
姜家志
·
2024-02-20 03:18
比特币源码分析
系列3---区块block数据结构
bitcoin版本:0.16.2区块结构分析区块是组成区块链的基本单位,可以通过bitcoin-cli命令查看一个区块的基本信息区块block的数据结构如下图(存储方式为小端):block数据结构整体结构数据项大小(Byte)描述BlockSize4区块大小BlockHeader80区块头信息大小Transactionsm*n(n>=250)所有交易的列表TransactionsCounter1-
JC86
·
2024-02-08 20:54
比特币源码分析
5
专门看一个类CMainSignalspublic:/**RegisteraCSchedulertogivecallbackswhichshouldruninthebackground(mayonlybecalledonce)*/voidRegisterBackgroundSignalScheduler(CScheduler&scheduler);/**UnregisteraCSchedulerto
nit小星星
·
2023-10-10 02:14
比特币源码分析
——共识模块
title:
比特币源码分析
——共识模块date:2021-11-0218:39:52前言分析比特币系统的共识模块,包括共识算法、交易的流程等,基于比特币开源客户端BitcoinCorev22.0版本的源码
dounine
·
2023-10-03 19:02
比特币源码分析
2
SetupServerArgs();进到这个函数里面有一个重要的函数和一个重要的vectorconstautodefaultChainParams=CreateChainParams(CBaseChainParams::MAIN);这个函数加载所有主链上的配置。std::vectorhidden_args这个结构初始化了所有命令行参数CreateChainParams函数里面returnstd::
nit小星星
·
2023-09-12 13:37
比特币源码分析
3
以上贴出比特币核心配置。比如说难度值最小不能小于多少,多久时间出块等等。接着往下看其他初始化函数.if(!gArgs.ReadConfigFiles(error,true)){fprintf(stderr,"Errorreadingconfigurationfile:%s\n",error.c_str());returnfalse;}从配置文件里面读取配置信息,这也不开展了。InitLogging
nit小星星
·
2023-02-04 09:34
比特币源码分析
--PBFT算法
上一篇文章介绍了CFT的经典算法paxos,paxos,raft这类非拜占庭模型的共识算法比较适用于私链,但是对于公链和联盟链,因为必须要考虑集群中存在恶意节点的情况,所以需要不同的容错算法,本文要介绍的就是BFT的经典算法PBFT算法(PracticalByzantineFaultTolerance,翻译过来就是实用拜占庭容错)1PBFT介绍1.1拜占庭将军问题拜占庭将军问题最早是由Lampor
jupiterwangq
·
2020-08-24 05:30
比特币源码分析
(十一) - 加载钱包(load wallet)
接下来主要是分析BitcoinCore初始化中的加载钱包过程,对应的源码是src/init.cpp的AppInitMain()方法的Step8:loadwallet这部分,详见:https://github.com/bitcoin/bitcoin/blob/v0.16.1/src/init.cpp//*************************************************
yzpyzp
·
2020-07-12 19:29
区块链
比特币源码分析
btcd源码解析 —— 签名机制(1) —— 基础知识
文章目录1.写在前面2.签名流程简述2.1.签名的数目2.2.签名的对象3.签名类型介绍3.1.基本类型3.2.组合类型3.3.源码&字节码分析3.3.1.定义3.3.2.举例1.写在前面在前面的
比特币源码分析
中
seafooler
·
2020-07-12 04:57
区块链技术
比特币源码分析
(二十二) - 挖矿和共识
用最简单的术语来说,挖矿就是不断重复计算区块头的哈希值,修改一个参数(即nonce字段),直到生成的哈希值与特定的target相匹配的一个过程。1、挖矿的流程阅读源码前先参考《精通比特币》梳理一遍节点挖矿的流程:(1).构建一个空区块,称为候选区块(2).从内存池中打包交易至候选区块(3).构造区块头,填写区块头的下述字段1)填写版本号version字段2)填写父区块哈希prevhash字段3)用
yzpyzp
·
2020-07-09 04:07
区块链
比特币源码分析
比特币源码分析
系列4---交易transaction(1)
未花费的交易输出(UTXO)大家都有转过账,每笔交易是这样的:张三账上减¥200,李四账上加¥200。在比特币区块链中,交易不是这么简单,交易实际是通过脚本来完成,以承载更多的功能个,这也是为什么比特币被称为是一种“可编程的货币”。先引入一个概念:未花费的交易输出——UTXO(UnspentTransactionOutput)比特币的交易都是基于UTXO上的,即交易的输入是之前交易未花费的输出,这
JC86
·
2020-07-08 12:40
比特币源码分析
--P2P网络初始化
区块链和AI无疑是近期业界当之无愧的两大风口。AI就不说了,区块链从17年各种数字货币被炒上了天,一下成为了人们街头巷议的焦点,本文撇开数字货币的投资不说,仅仅从技术层面来剖析一下区块链各个部分的原理。毕竟目前已经有包括BAT等巨头在内的许多公司投入到了区块链的研发,其相关的应用相信也会越来越多的落地,作为技术人员,学习一下区块链的源码,抓住这个风口是非常值得的。本系列将以比特币区块链作为学习的对
weixin_34198881
·
2020-07-06 00:02
比特币源码分析
——比特币地址生成流程
简介本文参考密钥和地址,主要内容是分析生成比特币地址的代码流程。获取新地址bitcoin-cligetnewaddress通过命令bitcoin-cligetnewaddress可以得到一个新的比特币地址,其调用流程如下:bitcoin_cli.cpprpcwallet.cppwallet.cppscriptpubkeymap.cpoutputtype.cppCallRPC()getnewaddr
iblks
·
2020-07-04 10:53
比特币
区块链
比特币源码分析
--PoW和PoS共识算法
前面的两篇文章学习了非拜占庭模型的经典共识算法paxos和拜占庭模型的经典共识算法PBFT,本文学习另外两种基于概率的共识算法:工作量证明算法PoW和权益证明算法PoS。其中PoW也是比特币区块链所采用的共识算法。1PoW算法1.1PoW历史工作量证明源于经济学,是一个经济学的概念,是指为了达成某种目标而设定一个度量的方法。可以和平时工作中的绩效考核做类比:为了考核达到5星,你必须要完成leade
jupiterwangq
·
2020-06-30 19:24
比特币源码分析
--加密算法
比特币系统为了保证其安全性,用到了很多算法,包括各种加密算法以及共识算法,理解这些算法对于理解比特币的原理是至关重要的,这篇文章就来简单的总结一下比特币中用到的一些主要的算法。1Hash算法1.1hash的概念Hash对于任何一个从事计算机软件开发的同行应该是在熟悉不过了。Hash算法是指将任意长度的一串明文映射为一段长度较短的(通常长度也是固定的)二进制串,并且对于不同的明文,很难映射得到相同的
jupiterwangq
·
2020-06-30 19:24
比特币源码分析
(十九) - 交易
1、交易整体结构按照《精通比特币》我们可以使用getrawtransaction和decodeawtransaction命令来检索Alice的“原始”交易,然后对其进行解码,结果如下:{"version":1,"locktime":0,"vin":[{"txid":"7957a35fe64f80d234d76d83a2a8f1a0d8149a41d81de548f0a65a8a999f6f18",
yzpyzp
·
2020-06-30 11:17
区块链
比特币源码分析
-网络(一)
在梳理代码逻辑之前,首先介绍几个比较重要的结构:CMessageHeader消息头包含的内容:classCMessageHeader{public:enum{MESSAGE_START_SIZE=4,//消息开始字符串,长度4字节,就是告诉你是属于哪种消息标识,在UTF-8中无效//主类型(MAIN):0xd9b4bef9//测试网络(TESTNET):0x0709110b//回归测试(REGTE
wolf4j
·
2020-06-26 15:29
比特币源码分析
--P2P网络初始化
转载:https://blog.csdn.net/ztemt_sw2/article/details/80291705区块链和AI无疑是近期业界当之无愧的两大风口。AI就不说了,区块链从17年各种数字货币被炒上了天,一下成为了人们街头巷议的焦点,本文撇开数字货币的投资不说,仅仅从技术层面来剖析一下区块链各个部分的原理。毕竟目前已经有包括BAT等巨头在内的许多公司投入到了区块链的研发,其相关的应用相
vdes
·
2020-03-26 11:14
比特币源码分析
(1)---比特币的构建
bitcoin.png背景其实对于我来说,我是特别认可区块链的发展的,之前也玩过ETH,EOS,但是我还是觉得需要从根源去了解区块链,比特币作为区块链的第一次应用,那么其代码还是需要深入的研究的,所以我最近准备把区块链源码好好看看,后续的很多平台都是有比特币的影子,这样以后做平台开发或者DAPP开发能够有着更深的认识前言其实我也是去看了别人的一些建议,然后再去做的肯能会少走点弯路比特币源码研究比特
freelands
·
2020-03-25 16:28
比特币源码分析
4
让我们进入AppInitMain函数首先constCChainParams&chainparams=Params();返回一个CChainParams类型的指针。这个类型包含了合约相关的接口,比如说产生区块GenesisBlock然后CreatePidFile这个就是输出详细错误的文件。InitSignatureCache();初始化签名执行缓冲点进去一看是这种函数size_tnMaxCacheS
nit小星星
·
2019-08-26 12:16
【
比特币源码分析
】————4、初始化操作&参数解析
接下来就是应用程序的初始化了:应用程序初始化AppInitAppInit函数是main函数执行的最后一个过程,我们通过该函数的注释(Start)以及AppInit函数的参数为main函数中的参数可知,其代表的是整个比特币后台进程真正开始运行的入口。从上面我们可以看到,首先是定义了一个Initinterfaces的对象interfaces,从字面上理解的话是一个初始化的接口对象。对于“InitInt
FLy_鹏程万里
·
2019-05-03 17:02
【区块链】
————比特币源码研究分析
【
比特币源码分析
】————2、SRC目录&初始化
比特币源代码获取比特币源码下载地址:https://github.com/bitcoin从上面我们可以看到比特币源代码是使用C++来写的,那么读者应当具备一定的C++源码阅读能力哦!比特币源码结构分析源码所处位置:SRC目录内容:SRC目录细节结构参照:函数入口在进入src目录后,我的第一要事就是找到初始化函数的具体位置。想到比特币源代码是C++写的,所以首当其冲的就是找到main函数,因为比特币
FLy_鹏程万里
·
2019-05-03 17:41
【区块链】
————比特币源码研究分析
比特币源码分析
之序列化
比特币的数据存储(文件或者内存数据库)都会使用到序列化、反序列化。如果自定义一些结构的话,涉及到持久化就需要在这个类中实现序列化反序列化的实现。比特币对基本类型都有序列化,比如int、std::string、uint256、vector都有实现,几乎不需要自己去添加基础类型序列化函数。比特币的序列化、反序列接口都是函数模板,第一个参数是具体的进行序列化的对象,第二个参数是序列化到哪里磁盘文件、网络
guoguangwu
·
2019-03-28 19:28
区块链
比特币原理剖析
比特币源码分析
--比特币架构
比特币源码分析
--比特币架构前面的一系列文章我们结合源码对比特币的主要模块进行了梳理和分析。本文我们将这些模块拼接起来,看看比特币的整体架构。
TuxedoLinux
·
2019-01-20 09:49
bitcoin
比特币源码分析
--加密算法
比特币源码分析
--加密算法比特币系统为了保证其安全性,用到了很多算法,包括各种加密算法以及共识算法,理解这些算法对于理解比特币的原理是至关重要的,这篇文章就来简单的总结一下比特币中用到的一些主要的算法。
TuxedoLinux
·
2018-11-21 23:10
比特币
比特币源码分析
--挖矿的实现
挖矿应该是近几年非常流行的一个名词了,通过前面文章的介绍我们现在已经知道了:在区块链中,所谓的挖矿其实是系统通过共识算法就“由谁来向区块链中写入区块并获取奖励”一事达成一致的过程。本文通过分析比特币源码,从技术角度来分析一下挖矿是如何实现的。1挖矿的流程 可以说,比特币就是靠挖矿来运作的,挖矿不仅保证比特币了比特币系统的安全性,同时比特币也是通过挖矿的方式来发行的,先简要概括一下挖矿流程: 当
啊拉丁的鱼
·
2018-10-31 11:57
比特币源码分析
(五) - 初始化之SetupEnvironment() 和 noui_connect()
主程序的入口函数main()在bitcoind.cpp文件中:intmain(intargc,char*argv[]){SetupEnvironment();//Connectbitcoindsignalhandlersnoui_connect();return(AppInit(argc,argv)?EXIT_SUCCESS:EXIT_FAILURE);}这篇文章主要分析下SetupEnviron
yzpyzp
·
2018-07-25 17:30
区块链
比特币源码分析
比特币源码分析
--比特币架构
前面的一系列文章我们结合源码对比特币的主要模块进行了梳理和分析。本文我们将这些模块拼接起来,看看比特币的整体架构。 比特币的整体架构图如下: (1)P2P网络层 完成P2P的组网,网络连接管理,节点状态的维护,为比特币提供数据传输服务; (2)安全与共识层 这一层主要向上层提供安全与数据共识服务,保证比特币中的交易数据的安全与区块链(账本)的一致性,又可以细分成三个
jupiterwangq
·
2018-07-24 00:00
比特币源码分析
--深入理解比特币交易
交易是比特币最重要的一块,比特币系统的其他部分都是为交易服务的。前面的章节中已经学习了各种共识算法以及比特币PoW共识的实现,本文来分析比特币中的交易相关的源码。1初识比特币交易通过比特币核心客户端的命令getrawtransaction和decoderawtransaction可以检索到比特币区块链上任意一笔交易的详细信息,以下是运行这两个命令后得到的某笔交易的详细信息,该示例摘自《精通比特币》
jupiterwangq
·
2018-07-23 20:52
比特币源码分析
--挖矿的实现
挖矿应该是近几年非常流行的一个名词了,通过前面文章的介绍我们现在已经知道了:在区块链中,所谓的挖矿其实是系统通过共识算法就“由谁来向区块链中写入区块并获取奖励”一事达成一致的过程。本文通过分析比特币源码,从技术角度来分析一下挖矿是如何实现的。1挖矿的流程可以说,比特币就是靠挖矿来运作的,挖矿不仅保证比特币了比特币系统的安全性,同时比特币也是通过挖矿的方式来发行的,先简要概括一下挖矿流程:当一个矿工
jupiterwangq
·
2018-07-13 12:29
比特币源码分析
-bitcoin程序框架
基础技术httprestLevelDBZeroMQBloomfilterCuckoohashDNSseedTor--theonionroute文件一览库:secp256k1:椭圆曲线非对称加密,数字签名库qt:GUI库univalue:数据类型库,服务于rpc序列化其他文件夹:compact:大小端,系统适配等,重写了部分字节操作consensus:merkle计算,分叉规则,一致性验证crypt
Super-Bob
·
2018-05-31 16:25
区块链
比特币源码分析
--RPC
比特币源码为我们提供了一个比特币核心客户端,这个核心客户端也称为中本聪客户端,和SPV轻量级客户端相比,比特币核心客户端包含了比特币的方方面面。比特币核心客户端中包含一个服务端bitcoind和一个命令行工具bitcoin-cli,通过bitcoin-cli,用户可以在命令行进行诸如创建交易、发送交易,查看交易,查看区块等一系列的操作。bitcoin-cli和bitcoind是典型的C/S模式,b
jupiterwangq
·
2018-05-24 20:26
比特币源码分析
-网络(二)
比特币源码分析
-网络(二)众所周知,比特币网络是采用的P2P网络体系,所以,没有明显的客户端与服务端的区别或者是概念,每一个节点既是自身的客户端,又是其它节点的服务端。
TuxedoLinux
·
2018-05-23 14:00
比特币
比特币源码分析
--P2P网络初始化
区块链和AI无疑是近期业界当之无愧的两大风口。AI就不说了,区块链从17年各种数字货币被炒上了天,一下成为了人们街头巷议的焦点,本文撇开数字货币的投资不说,仅仅从技术层面来剖析一下区块链各个部分的原理。毕竟目前已经有包括BAT等巨头在内的许多公司投入到了区块链的研发,其相关的应用相信也会越来越多的落地,作为技术人员,学习一下区块链的源码,抓住这个风口是非常值得的。本系列将以比特币区块链作为学习的对
jupiterwangq
·
2018-05-14 10:57
以太坊源码深入分析(1)--下载、编译、启动go-ethereum
这里要说明一下,为什么不从
比特币源码分析
写起:比特币作为区块链技术的鼻祖,它是每个区块链开发者永远的图腾,不到
老鱼游啊游
·
2018-04-11 21:04
以太坊源码深入分析(1)--下载、编译、启动go-ethereum
这里要说明一下,为什么不从
比特币源码分析
写起:比特币作为区块链技术的鼻祖,它是每个区块链开发者永远的图腾,不到
老鱼游啊游
·
2018-04-10 15:11
比特币源码分析
-boost::signal的使用
bitcoin代码中大量使用boost::signal,boost::signal实现了信号与槽的事件通知机制,或者说是一种消息的发布与订阅机制,signal类型是一个可调用类型,slot就是callback对象,或者说事件的订阅者,signal实例是一个可调用对象,调用signal对象,就相当于发布了相应的事件,signal的connect,disconnect方法分别相当于对事件的订阅,取消。
姜家志
·
2018-03-08 11:40
一:
比特币源码分析
(整体源码架构)
比特币刚出来的时候大家都认为骗SB的,我TM也这么认为,啪啪啪打脸,我错了。。。。最近同学又和我谈起ICO相关投资,汗说起来都是泪,最近的火爆程度,大家可以去招聘网站上搜索区块链的相关职位等。目前我跟大家一样,一片迷茫,只是搜下下GitHub上的bitcoin项目,地址是:https://github.com/bitcoin,只所以写这一系列文章,目的是为了记录自己的分析笔记,也可以给后面想学习区
imalg图像算法
·
2018-02-02 18:49
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他