精华内容
下载资源
问答
  • Linux开发工具箱--项目开发最有效途径.pdf

    千次下载 热门讨论 2012-11-29 16:25:25
    最后,作者介绍了可以提高软件性能的工具;解释了如今市面上多芯CPU内在原理,并演示了如何从这些系统中获取最佳性能;以及介绍了在各种环境下调试代码的工具和技术。 对于程序员来说,如果希望自己开发出来...
  • 《Linux开发工具箱:项目开发最有效途径》将系统性地介绍GNU/Linux开源工具,并通过可以被读者容易修改简明示例说明如何使用这些工具,以满足读者实际需求。《Linux开发工具箱:项目开发最有效途径》首先...
  • 下面就介绍一下如何获取CentOS下常用工具的源码。  CentOS、RedHat、Fedora这样系列操作系统有一个yumdownloader工具,可以下载安装包及其源码,例如:   yumdownloader --source kernel  

     用Linux的一大好处就是很多软件都是开源的,可以轻松地获得它们的源代码。阅读优秀的源代码是程序员进步的一个很好的途径。下面就介绍一下如何获取CentOS下常用工具的源码。

      CentOS、RedHat、Fedora这样系列的操作系统有一个yumdownloader的工具,可以下载安装包及其源码,例如:

      

    yumdownloader --source kernel

      上面的语句就会下载到包含内核源码的安装包但是我在执行上述语句的时间却出现“No source RPM for XXX”的提示,后来到网上一查,是因为没配置好路径。

      要想下载源码包,我们就必须先配置好yum的源码包下载路径,操作如下(需要root权限):

      

      1. 打开/etc/yum.repos.d目录。

      2. 如果没有CentOS-Source.repo文件就新建一个,有就备份。

      3.往CentOS-Source.repo插入以下内容:

      

    复制代码
    [base-source]
    name=CentOS-$releasever - Base Source
    baseurl=http://vault.centos.org/6.4/os/Source/
    enabled=1
    
    [updates-source]
    name=CentOS-$releasever - Updates Source
    baseurl=http://vault.centos.org/6.4/updates/Source/
    enabled=1
    
    [extras-source]
    name=CentOS-$releasever - Extras Source
    baseurl=http://vault.centos.org/6.4/extras/Source/
    enabled=1
    
    [centosplus-source]
    name=CentOS-$releasever - Plus Source
    baseurl=http://vault.centos.org/6.4/centosplus/Source/
    enabled=1
    复制代码

      PS:我的CentOS是6.4的,请根据自己CentOS的版本修改baseurl,是6.3就把6.4改为6.3即可。

      修改完成后,还需要以下语句使之生效:

      

    yum clean all
    yum makecache

      执行完成后(出现TimeOut就多执行几次),我们就可以用yumdownloader下载源码包了。现在另外一个问题来了,ls、ping之类的工具在哪个安装包里面呢?

      rpm管理工具可以帮上忙,可以查出这些工具所在的安装包,例如下面这条命令就可以查出ls所在的安装包:

    rpm -qf `which ls`

      

      PS:引号是Esc下面的那个,而且如果是别名会有问题,所以最好分开成下面这个样子:

    [wkq@localhost /]$ which ls
    alias ls='ls --color=auto'
        /bin/ls
    [wkq@localhost /]$ rpm -qf /bin/ls
    coreutils-8.4-19.el6_4.2.i686

      知道是哪个软件包后就可以用上面的语句下载ls所在的软件包了:

    yumdownloader --source coreutils

      下载到的文件是一个rpm安装包,还需要以下语句提取源码:

    rpm2cpio coreutils-8.4-19.el6_4.2.src.rpm|cpio -id

      生成的文件之中会有一个压缩文件,用tar解压后即可得到源码。

    展开全文
  • a、【frida】,通过反编译或其他途径获取目标类路径、方法名,可以直接打印方法参数/结果,且可修改返回结果 b、【xposed】+【inspeckage】:可在pc端查看app各种信息&hook打印方法参数/结果 防范方式: a、...
  • 写论文必备的工具之一读取论文图表上数据神奇小软件DataDig第二版; 主要功能: 1.可选择精确使用鼠标点击或拖动数据获取图表上数据; 2.增强放大镜功能可使数据获取更精确; 3.可剔去冗余、重复和误操作获得...
  • 写论文必备的工具之一读取论文图表上数据神奇小软件DataDig第二版; 主要功能: 1.可选择精确使用鼠标点击或拖动数据获取图表上数据; 2.增强放大镜功能可使数据获取更精确; 3.可剔去冗余、重复和误操作获得...
  • 软件工程完整ppt

    2018-08-04 13:49:49
     16软件的生存周期及开发模型  161软件生存周期  162软件开发模型  17习题  第2章可行性研究  21可行性研究的目的与任务  22可行性研究的步骤  23系统流程图  231系统流程图的符号  232系统流程图示例  ...
  • 写论文必备的工具之一读取图表上数据神奇小软件Datadig; 比WinDig更加简单高效 1.支持双线性直角坐标 2.支持双对数直角坐标; 3.支持对数-线性混合坐标; 4.局部放大,便于观察数据细节; 5.动态实时显示获取的数据; 6...
  • 比特币节点(Bitcoin Core)~/.bitcoin/blocks/目录中blk....本文将介绍比特币区块数据文件格式、数据结构以及读取方法原理,并介绍三种常用的工具软件。1、blk.dat工作机制比特币节点(Bitcoin Core)接收到每...

    比特币节点(Bitcoin Core)的~/.bitcoin/blocks/目录中的blk.dat 文件中包含了节点接收到的原始区块数据,这些数据文件构成了比特币区块链的基础,同时也是区块链数据分析获取比特币区块和交易数据的最高效的途径。本文将介绍比特币区块数据文件的格式、数据结构以及读取方法原理,并介绍三种常用的工具软件。

    1、blk.dat工作机制

    比特币节点(Bitcoin Core)接收到的每个区块都会写入一个blk.dat文件。出于性能考虑,节点不会把所有区块写入单一巨型文件,而是拆分为多个blk*.dat文件。

    ~/.bitcoin/blocksblk00000.datblk00001.datblk00002.dat…

    节点首先将收到的区块写入blk00000.dat,然后如果这个文件满了(大约128MB)就会写入blk00001.dat,然后是blk00002.dat...,依次类推。

    2、blk.dat文件内容示例

    在blk.dat文件中的数据以二进制格式存储,节点收到的新区块会追加到文件末尾。我们可以看一下创世区块的内容。读取blk00000.dat的开头293个字节:

    f9beb4d91d01000001000000000000000000000000000000000000000000000000 00000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000

    3、blk文件结构

    上面的数据可以分为五个部分:

    3a994645912727375df33d95b0b4aeda.png
    • magic bytes(魔术字节)和size(数据尺寸)可以用来找出来每个区块的起止位置
    • block header(区块头)包含了区块的头部信息
    • tx count 表示区块中的交易数量,后面的transaction data部分就是逐条交易的数据

    数据结构如下:

    [ magic bytes ][ size ][ block header ][ tx count ][ transaction data ]     

    利用size字段分析上面的数据,我们就知道要读取整个区块需要293个字节:size的二进制编码为1d010000,按如下步骤进行处理:

    1. 转换字节顺序,得到0000011d
    2. 转换为10进制,得到285

    因此我们再加上magic bytes的4个字节和size的4个字节,就得到了这个区块 的字节数为293。

    4、注意事项

    4.1 区块不是按顺序下载

    如果你在解析blk.dat文件,一定要记得区块不一定是按先后顺序排列的。例如在你处理文件时可能会读到以下顺序排列的区块:

    A B C E F D

    这是因为出于性能的考虑,比特币节点是并行下载区块的。

    4.2 blk.dat文件最大128MB

    这个限制是在源代码中由宏MAX_BLOCKFILE_SIZE控制的。

    5、区块文件读取工具

    正如之前所言,blk.dat文件中的数据是二进制编码的,因此如果你直接在文本编辑器里打开文件,可能看不出来太多有价值的信息。有几个工具可以帮助你。

    5.1 od - 16进制查看工具

    od是一个简单的工具,它将文件内容导出为你选择的格式。例如:

    od -x --endian=big -N 293 -An blk00000.dat

    其中:

    • -x: 显示为16进制
    • --endian=big: 按big endian顺序显示字节
    • -N 293 : 声明要读取的字节数
    • -An:不显示文件偏移量

    od通常内置于各种linux发行版中。

    5.2 hexdump - 16进制及ascii查看工具

    类似于od,不过hexdump可以显示数据的ascii文本,这对于快速查看交易中包含的信息会很方便。例如:

    $ hexdump -C -s 8 -n 285 blk00000.dat00000008 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|00000018 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|00000028 00 00 00 00 3b a3 ed fd 7a 7b 12 b2 7a c7 2c 3e |....;...z{..z.,>|00000038 67 76 8f 61 7f c8 1b c3 88 8a 51 32 3a 9f b8 aa |gv.a......Q2:...|00000048 4b 1e 5e 4a 29 ab 5f 49 ff ff 00 1d 1d ac 2b 7c |K.^J}._I......+||00000058 01 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 |................|00000068 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|00000078 00 00 00 00 00 00 ff ff ff ff 4d 04 ff ff 00 1d |..........M.....|00000088 01 04 45 54 68 65 20 54 69 6d 65 73 20 30 33 2f |..EThe Times 03/|00000098 4a 61 6e 2f 32 30 30 39 20 43 68 61 6e 63 65 6c |Jan/2009 Chancel|000000a8 6c 6f 72 20 6f 6e 20 62 72 69 6e 6b 20 6f 66 20 |lor on brink of |000000b8 73 65 63 6f 6e 64 20 62 61 69 6c 6f 75 74 20 66 |second bailout f|000000c8 6f 72 20 62 61 6e 6b 73 ff ff ff ff 01 00 f2 05 |or banks........|000000d8 2a 01 00 00 00 43 41 04 67 8a fd b0 fe 55 48 27 |*....CA.g....UH'|000000e8 19 67 f1 a6 71 30 b7 10 5c d6 a8 28 e0 39 09 a6 |.g..q0....(.9..|000000f8 79 62 e0 ea 1f 61 de b6 49 f6 bc 3f 4c ef 38 c4 |yb...a..I..?L.8.|00000108 f3 55 04 e5 1e c1 12 de 5c 38 4d f7 ba 0b 8d 57 |.U......8M....W|00000118 8a 4c 70 2b 6b f1 1d 5f ac 00 00 00 00 |.Lp+k.._.....|)0000125

    其中:

    • -C:显示字节及ascii文本
    • -s:声明要显示数据的偏移位置
    • -n:声明要读取的字节数

    也可以指显示原始的16进制数据:

    $ hexdump -C -s 8 -n 285 blk00000.dat | cut -c 11-58 | tr '' ' ' | tr -d ' '

    其中:

    • cut -c 11-58 :仅保留每行的11到58列
    • tr '' ' ' :将换行翻译为空格
    • tr -d ' ' :删除所有空格

    hexdump通常内置于各种linux发行版中。

    5.3 BlockETL - 将区块及交易数据加载到SQL数据库

    与前两种简单工具不同,BlockETL软件包用于比特币区块链数据分析中的数据抽取、转换和加载,也就是说,BlockETL是更大的区块链数据分析生态中的一个基础工具,当你读取比特币blk.dat文件的目的是要进一步分析数据时,这个工具最有价值。

    BlockETL的主要特性如下:

    • 直接读取原始区块文件,抽取速度快
    • 将原始区块和交易数据加载至SQL数据库,便于后续的区块链数据分析
    • 支持多流水线并行处理,可自己控制并发流水线数量
    • 结构设计清晰,代码便于扩展

    BlockETL是一个Java应用,同时也是一个开发包,支持Windows、OSX和Linux等多种操作系统。配置数据目录、数据库连接等基本信息并启动后,就可以看到将blk文件中的区块和交易数据加载到SQL数据库的进度了:

    3d67cdc97e7f3e9579618ddc81e21c20.png

    BlockETL官网:http://sc.hubwiz.com/codebag/blocketl-java/。


    原文链接:http://blog.hubwiz.com/2019/12/02/bitcoin-blk-file/

    展开全文
  • 比特币节点(Bitcoin Core)~/.bitcoin/blocks/目录中blk....本文将介绍比特币区块数据文件格式、数据结构以及读取方法原理,并介绍三种常用的工具软件。1、blk.dat工作机制比特币节点(Bitcoin Core)接收到每...

    比特币节点(Bitcoin Core)的~/.bitcoin/blocks/目录中的blk.dat 文件中包含了节点接收到的原始区块数据,这些数据文件构成了比特币区块链的基础,同时也是区块链数据分析获取比特币区块和交易数据的最高效的途径。本文将介绍比特币区块数据文件的格式、数据结构以及读取方法原理,并介绍三种常用的工具软件。

    1、blk.dat工作机制

    比特币节点(Bitcoin Core)接收到的每个区块都会写入一个blk.dat文件。出于性能考虑,节点不会把所有区块写入单一巨型文件,而是拆分为多个blk*.dat文件。

    ~/.bitcoin/blocksblk00000.datblk00001.datblk00002.dat…

    节点首先将收到的区块写入blk00000.dat,然后如果这个文件满了(大约128MB)就会写入blk00001.dat,然后是blk00002.dat...,依次类推。

    2、blk.dat文件内容示例

    在blk.dat文件中的数据以二进制格式存储,节点收到的新区块会追加到文件末尾。我们可以看一下创世区块的内容。读取blk00000.dat的开头293个字节:

    f9beb4d91d01000001000000000000000000000000000000000000000000000000 00000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000

    3、blk文件结构

    上面的数据可以分为五个部分:

    b42ea6aa67dc414a700b1bedcb87b497.png
    • magic bytes(魔术字节)和size(数据尺寸)可以用来找出来每个区块的起止位置
    • block header(区块头)包含了区块的头部信息
    • tx count 表示区块中的交易数量,后面的transaction data部分就是逐条交易的数据

    数据结构如下:

    [ magic bytes ][ size ][ block header ][ tx count ][ transaction data ]     

    利用size字段分析上面的数据,我们就知道要读取整个区块需要293个字节:size的二进制编码为1d010000,按如下步骤进行处理:

    1. 转换字节顺序,得到0000011d
    2. 转换为10进制,得到285

    因此我们再加上magic bytes的4个字节和size的4个字节,就得到了这个区块 的字节数为293。

    4、注意事项

    4.1 区块不是按顺序下载

    如果你在解析blk.dat文件,一定要记得区块不一定是按先后顺序排列的。例如在你处理文件时可能会读到以下顺序排列的区块:

    A B C E F D

    这是因为出于性能的考虑,比特币节点是并行下载区块的。

    4.2 blk.dat文件最大128MB

    这个限制是在源代码中由宏MAX_BLOCKFILE_SIZE控制的。

    5、区块文件读取工具

    正如之前所言,blk.dat文件中的数据是二进制编码的,因此如果你直接在文本编辑器里打开文件,可能看不出来太多有价值的信息。有几个工具可以帮助你。

    5.1 od - 16进制查看工具

    od是一个简单的工具,它将文件内容导出为你选择的格式。例如:

    od -x --endian=big -N 293 -An blk00000.dat

    其中:

    • -x: 显示为16进制
    • --endian=big: 按big endian顺序显示字节
    • -N 293 : 声明要读取的字节数
    • -An:不显示文件偏移量

    od通常内置于各种linux发行版中。

    5.2 hexdump - 16进制及ascii查看工具

    类似于od,不过hexdump可以显示数据的ascii文本,这对于快速查看交易中包含的信息会很方便。例如:

    $ hexdump -C -s 8 -n 285 blk00000.dat00000008 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|00000018 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|00000028 00 00 00 00 3b a3 ed fd 7a 7b 12 b2 7a c7 2c 3e |....;...z{..z.,>|00000038 67 76 8f 61 7f c8 1b c3 88 8a 51 32 3a 9f b8 aa |gv.a......Q2:...|00000048 4b 1e 5e 4a 29 ab 5f 49 ff ff 00 1d 1d ac 2b 7c |K.^J}._I......+||00000058 01 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 |................|00000068 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|00000078 00 00 00 00 00 00 ff ff ff ff 4d 04 ff ff 00 1d |..........M.....|00000088 01 04 45 54 68 65 20 54 69 6d 65 73 20 30 33 2f |..EThe Times 03/|00000098 4a 61 6e 2f 32 30 30 39 20 43 68 61 6e 63 65 6c |Jan/2009 Chancel|000000a8 6c 6f 72 20 6f 6e 20 62 72 69 6e 6b 20 6f 66 20 |lor on brink of |000000b8 73 65 63 6f 6e 64 20 62 61 69 6c 6f 75 74 20 66 |second bailout f|000000c8 6f 72 20 62 61 6e 6b 73 ff ff ff ff 01 00 f2 05 |or banks........|000000d8 2a 01 00 00 00 43 41 04 67 8a fd b0 fe 55 48 27 |*....CA.g....UH'|000000e8 19 67 f1 a6 71 30 b7 10 5c d6 a8 28 e0 39 09 a6 |.g..q0....(.9..|000000f8 79 62 e0 ea 1f 61 de b6 49 f6 bc 3f 4c ef 38 c4 |yb...a..I..?L.8.|00000108 f3 55 04 e5 1e c1 12 de 5c 38 4d f7 ba 0b 8d 57 |.U......8M....W|00000118 8a 4c 70 2b 6b f1 1d 5f ac 00 00 00 00 |.Lp+k.._.....|)0000125

    其中:

    • -C:显示字节及ascii文本
    • -s:声明要显示数据的偏移位置
    • -n:声明要读取的字节数

    也可以指显示原始的16进制数据:

    $ hexdump -C -s 8 -n 285 blk00000.dat | cut -c 11-58 | tr '' ' ' | tr -d ' '

    其中:

    • cut -c 11-58 :仅保留每行的11到58列
    • tr '' ' ' :将换行翻译为空格
    • tr -d ' ' :删除所有空格

    hexdump通常内置于各种linux发行版中。

    5.3 BlockETL - 将区块及交易数据加载到SQL数据库

    与前两种简单工具不同,BlockETL软件包用于比特币区块链数据分析中的数据抽取、转换和加载,也就是说,BlockETL是更大的区块链数据分析生态中的一个基础工具,当你读取比特币blk.dat文件的目的是要进一步分析数据时,这个工具最有价值。

    BlockETL的主要特性如下:

    • 直接读取原始区块文件,抽取速度快
    • 将原始区块和交易数据加载至SQL数据库,便于后续的区块链数据分析
    • 支持多流水线并行处理,可自己控制并发流水线数量
    • 结构设计清晰,代码便于扩展

    BlockETL是一个Java应用,同时也是一个开发包,支持Windows、OSX和Linux等多种操作系统。配置数据目录、数据库连接等基本信息并启动后,就可以看到将blk文件中的区块和交易数据加载到SQL数据库的进度了:

    4de5cc80f72bff47873f4753c3683ce7.png

    BlockETL官网:http://sc.hubwiz.com/codebag/blocketl-java/。


    原文链接:http://blog.hubwiz.com/2019/12/02/bitcoin-blk-file/

    展开全文
  • 软件工程知识点

    2012-12-02 21:34:25
    系统确认验证需要以用户为主体,以需求规格说明书中对软件的定义为依据,由此对软件的各项规格进行逐项地确认,以确保已经完成的软件系统与需求规格的一致性。为了方便用户在系统确认期间能够积极参入,也为了系统在...
  • 比特币节点(Bitcoin Core)~/.bitcoin/blocks/目录中...本文将介绍比特币区块数据文件格式、数据结构以及读取方法原理,并介绍三种常用的工具软件。1、blk.dat工作机制比特币节点(Bitcoin Core)接收到每...

    e9370e08c70aa721b28746739e8b83bf.png

    比特币节点(Bitcoin Core)的~/.bitcoin/blocks/目录中的blk.dat 文件中包含了节点接收到的原始区块数据,这些数据文件构成了比特币区块链的基础,同时也是区块链数据分析获取比特币区块和交易数据的最高效的途径。本文将介绍比特币区块数据文件的格式、数据结构以及读取方法原理,并介绍三种常用的工具软件。

    1、blk.dat工作机制

    比特币节点(Bitcoin Core)接收到的每个区块都会写入一个blk.dat文件。出于性能考虑,节点不会把所有区块写入单一巨型文件,而是拆分为多个blk*.dat文件。

    ~/.bitcoin/blocks
    blk00000.dat
    blk00001.dat
    blk00002.dat
    …

    节点首先将收到的区块写入blk00000.dat,然后如果这个文件满了(大约128MB)就会写入blk00001.dat,然后是blk00002.dat...,依次类推。

    2、blk.dat文件内容示例

    在blk.dat文件中的数据以二进制格式存储,节点收到的新区块会追加到文件末尾。我们可以看一下创世区块的内容。读取blk00000.dat的开头293个字节:

    f9beb4d91d01000001000000000000000000000000000000000000000000000000 
    00000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a
    51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c0101000000010000000000
    000000000000000000000000000000000000000000000000000000ffffffff4d04
    ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e
    63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f7574
    20666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548
    271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4
    f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000

    3、blk文件结构

    上面的数据可以分为五个部分:

    7cc107e9aa84b129e2cabfd2c557cef3.png
    • magic bytes(魔术字节)和size(数据尺寸)可以用来找出来每个区块的起止位置
    • block header(区块头)包含了区块的头部信息
    • tx count 表示区块中的交易数量,后面的transaction data部分就是逐条交易的数据

    数据结构如下:

    [ magic bytes ][    size     ][   block header ][  tx count  ][  transaction data  ]
     <- 4 bytes ->  <- 4 bytes ->  <- 80 bytes   ->  <- varint ->  <- remainder      ->

    利用size字段分析上面的数据,我们就知道要读取整个区块需要293个字节:size的二进制编码为1d010000,按如下步骤进行处理:

    1. 转换字节顺序,得到0000011d
    2. 转换为10进制,得到285

    因此我们再加上magic bytes的4个字节和size的4个字节,就得到了这个区块 的字节数为293。

    4、注意事项

    4.1 区块不是按顺序下载

    如果你在解析blk.dat文件,一定要记得区块不一定是按先后顺序排列的。例如在你处理文件时可能会读到以下顺序排列的区块:

    A B C E F D

    这是因为出于性能的考虑,比特币节点是并行下载区块的。

    4.2 blk.dat文件最大128MB

    这个限制是在源代码中由宏MAX_BLOCKFILE_SIZE控制的。

    5、区块文件读取工具

    正如之前所言,blk.dat文件中的数据是二进制编码的,因此如果你直接在文本编辑器里打开文件,可能看不出来太多有价值的信息。有几个工具可以帮助你。

    5.1 od - 16进制查看工具

    od是一个简单的工具,它将文件内容导出为你选择的格式。例如:

    od -x --endian=big -N 293 -An blk00000.dat

    其中:

    • -x: 显示为16进制
    • --endian=big: 按big endian顺序显示字节
    • -N 293 : 声明要读取的字节数
    • -An:不显示文件偏移量

    od通常内置于各种linux发行版中。

    5.2 hexdump - 16进制及ascii查看工具

    类似于od,不过hexdump可以显示数据的ascii文本,这对于快速查看交易中包含的信息会很方便。例如:

    $ hexdump -C -s 8 -n 285 blk00000.dat
    
    00000008  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    00000018  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    00000028  00 00 00 00 3b a3 ed fd  7a 7b 12 b2 7a c7 2c 3e  |....;...z{..z.,>|
    00000038  67 76 8f 61 7f c8 1b c3  88 8a 51 32 3a 9f b8 aa  |gv.a......Q2:...|
    00000048  4b 1e 5e 4a 29 ab 5f 49  ff ff 00 1d 1d ac 2b 7c  |K.^J}._I......+||
    00000058  01 01 00 00 00 01 00 00  00 00 00 00 00 00 00 00  |................|
    00000068  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    00000078  00 00 00 00 00 00 ff ff  ff ff 4d 04 ff ff 00 1d  |..........M.....|
    00000088  01 04 45 54 68 65 20 54  69 6d 65 73 20 30 33 2f  |..EThe Times 03/|
    00000098  4a 61 6e 2f 32 30 30 39  20 43 68 61 6e 63 65 6c  |Jan/2009 Chancel|
    000000a8  6c 6f 72 20 6f 6e 20 62  72 69 6e 6b 20 6f 66 20  |lor on brink of |
    000000b8  73 65 63 6f 6e 64 20 62  61 69 6c 6f 75 74 20 66  |second bailout f|
    000000c8  6f 72 20 62 61 6e 6b 73  ff ff ff ff 01 00 f2 05  |or banks........|
    000000d8  2a 01 00 00 00 43 41 04  67 8a fd b0 fe 55 48 27  |*....CA.g....UH'|
    000000e8  19 67 f1 a6 71 30 b7 10  5c d6 a8 28 e0 39 09 a6  |.g..q0....(.9..|
    000000f8  79 62 e0 ea 1f 61 de b6  49 f6 bc 3f 4c ef 38 c4  |yb...a..I..?L.8.|
    00000108  f3 55 04 e5 1e c1 12 de  5c 38 4d f7 ba 0b 8d 57  |.U......8M....W|
    00000118  8a 4c 70 2b 6b f1 1d 5f  ac 00 00 00 00           |.Lp+k.._.....|)
    0000125
    

    其中:

    • -C:显示字节及ascii文本
    • -s:声明要显示数据的偏移位置
    • -n:声明要读取的字节数

    也可以指显示原始的16进制数据:

    $ hexdump -C -s 8 -n 285 blk00000.dat | cut -c 11-58 | tr 'n' ' ' | tr -d ' '

    其中:

    • cut -c 11-58 :仅保留每行的11到58列
    • tr 'n' ' ' :将换行翻译为空格
    • tr -d ' ' :删除所有空格

    hexdump通常内置于各种linux发行版中。

    5.3 BlockETL - 将区块及交易数据加载到SQL数据库

    与前两种简单工具不同,BlockETL软件包用于比特币区块链数据分析中的数据抽取、转换和加载,也就是说,BlockETL是更大的区块链数据分析生态中的一个基础工具,当你读取比特币blk.dat文件的目的是要进一步分析数据时,这个工具最有价值。

    BlockETL的主要特性如下:

    • 直接读取原始区块文件,抽取速度快
    • 将原始区块和交易数据加载至SQL数据库,便于后续的区块链数据分析
    • 支持多流水线并行处理,可自己控制并发流水线数量
    • 结构设计清晰,代码便于扩展

    BlockETL是一个Java应用,同时也是一个开发包,支持Windows、OSX和Linux等多种操作系统。配置数据目录、数据库连接等基本信息并启动后,就可以看到将blk文件中的区块和交易数据加载到SQL数据库的进度了:

    da2a42eb437dd0fa3e817b6c10a22639.png

    BlockETL官网:http://sc.hubwiz.com/codebag/blocketl-java/


    原文链接:比特币数据文件格式及读取方法 - 汇智网

    展开全文
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    “用户对软件的要求不断变化,然而软件是柔软而灵活的,可以轻易地改动” “软件投入生产性运行以后需要的维护工作并不多,而且维护是一件很容易做的简单工作” 软件危机的解决 解决途径 组织管理 工程项目管理方法...
  • 软件自动安装器

    2012-09-08 18:45:00
    Note1=Office 2003 SP3简体中文三合一版,有三个组件 Word、Excel、PowerPoint,包含公式器等常用工具,满足绝大多数用户需求。 [sogou] Caption=搜狗拼音输入法6.0 WorkingDir=%CurrDir%\办公软件\sogou CmdLine=...
  • 8、 软件测试从业人员最常用的软件测试工具 ............................ 28 9、 软件测试从业人员关心行业业务知识 .............................. 35 10、 软件测试从业人员获取测试相关信息的途径 .............
  • 软件的主要特性是(A B C)。 A) 无形 B) 高成本 C) 包括程序和文档  D) 可独立构成计算机系统 2. 软件工程三要素是(C D)。 A) 技术、方法和工具  B) 方法、工具和过程  C) 方法、对象和类  ...
  • 媒体查询 CSS媒体查询允许开发者基于浏览网站设备特性来应用不同样式申明,最常用的特性是视口宽度。 GCF 谷歌内嵌浏览器框架, 使用此插件,用户可以通过Internet Explorer用户界面,以Chrome内核渲染方式...
  • 比特币节点(Bitcoin Core)~/.bitcoin/blocks/目录中blk...本文将介绍比特币区块数据文件格式、数据结构以及读取方法原理,并介绍三种常用的工具软件。 1、blk.dat工作机制 比特币节点(Bitcoin Core)接收到...
  • 包括:网络设备的安全性、操作系统的安全性、协议软件的安全性、系统安全监视乏力、对病毒和黑客侵袭的抵抗不足、应用服务的安全性等。 (3)物理自然环境恶化 物理自然环境恶化是指网上会展信息系统物理基础的支持...
  • 相信使用过《金山毒霸》、《瑞星杀毒》软件的读者应该还记得它们的精美界面: 图1 瑞星杀毒软件的精美界面 程序的功能如何如何强大是一回事,它的用户界面则是另一回事。千万不要忽视程序的用户界面,因为它是给...
  • 通过这样的途径当你更换使用数据库时,可以轻松更改编码以适应这样变化。PHPLIB就是最常用的可以提供一般事务需要一系列基库。 - 可扩展性 就像前面说那样,PHP已经进入了一个高速发展时期。对于一个...
  • 142 8.2 社会网络分析发展、意义 和步骤 143 8.2.1 社会网络分析三个方向 143 8.2.2 社会网络分析几个主要 步骤 144 8.2.3 社会网络分析几个重要 指标 144 8.3 社会网络分析的常用工具 146 8.3.1 NodeXL...
  • 3、信息技术:是指信息的获取、存储、加工处理、传递、利用和服务过程中涉及的技术,主要包括:微电子技术、通信技术、计算机技术和传感技术等。计算机技术是信息技术的核心。 4、信息技术的应用:计算机辅助设计、...
  • 网络信息扫描实验

    2013-05-11 22:05:21
    综合扫描和安全评估工具也可被黑客利用,对万国目标主机进行弱口令扫描、系统漏洞扫描、主机服务扫描等多种方式扫描,同时采用模拟攻击手段检测目标主机在通信、服务、Web应用等多方面安全漏洞,以期找到入侵...
  • 1. 流光软件的基本设置 66 2. 流光软件的使用 69 2.4.5 加壳与脱壳 72 1. 加壳 72 2. 脱壳 73 新手问题解答 74 第3章 谁动了我的电脑 75 系统会将用户在使用电脑过程中的操作记录下来,这样方便了用户查阅以前 的...

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

常用工具软件的获取途径