bitcoin-to-beo4j的介绍和安装

Roselani ·
更新时间:2024-09-21
· 986 次阅读

来源于项目 https://learnmeabitcoin.com/中的https://github.com/in3rsha/bitcoin-to-neo4j

bitcoin-to-beo4j

思路:整个过程就是从一种格式(区块链数据)中获取数据,然后将其转换为另一种格式(图形数据库)。使得此转换比典型的数据转换稍微棘手的唯一事情是,在开始之前了解比特币数据的结构将很有帮助

一旦将区块链导入到Neo4j中,就可以在图形数据库上执行SQL数据库无法进行的分析。例如,您可以按照比特币的路径查看是否连接了两个不同的地址

将比特币区块链交易数据导入到Neo4j图形数据库中,这样的项目网上有很多,但这个是直接安装读取区块文件后直接导进到neo4j中去,很方便,其他项目例如(1)https://github.com/behas/bitcoingraph (2)https://github.com/BlueMeanie/bitcoingraphdb 导出数据后需要运用neo4j的工具再导入csv文件

作者也放出了在线数据库,账号密码估计需要支付比特币才行,不如自己动手看看:

开始安装:参考教程 

git clone https://github.com/in3rsha/bitcoin-to-neo4j.git

测试环境:centos 7

比特币核心:可以参考之前我转发的教程

Neo4j 3.0+:网上一大堆教程,推荐源码安装

首先需要安装 java sdk: yum install java-1.8.0-openjdk wget https://neo4j.com/artifact.php?name=neo4j-community-2.3.9-unix.tar.gz #注意对应neo4j的版本,修改版本名即可 tar -zvxf artifact.php\?name\=neo4j-community-2.3.9-unix.tar.gz 然后可以移动文件到 你需要的目录

还需要修改下配置文件后台启动:

开启neo4j可以在浏览器中查看导入的数据,怎么用可以参考作者的教程和视频:

这里很清楚看到导入节点是9104

过了一会又增加了好多:

重要:

生成的Neo4j数据库大约是区块链大小的6倍因此,如果区块链为100GB,那么您的Neo4j数据库将为600GB完成整个区块链的导入可能需要60天以上的时间。该脚本不是对整个区块链进行批量导入,而是对每个blk.dat1文件运行,并插入其遇到的每个块和事务。因此,虽然初始导入需要“一会儿”,但完成后,它将在到达时不断添加新块。 我想对于其他的区块链也能够用稍微修改源码就行,比如bch在48万多区块开始分叉,我试了下也能够解析出来到neo4j中

尽管如此,在此脚本运行时,您仍然可以浏览数据库中的任何内容。

有可能的错误

(1) 未定义的函数bcmod()安装一个扩展即可,参考教程

yum install php72w-bcmath

 (2)php的Allowed memory size of 134217728 bytes exhausted问题解决办法

报错: Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 128 bytes) in xxxx/mysqli_result.php on line 183

解析: 
134217728/1024/1024 = 128

解决方案1: 通过ini_set函数修改配置选项值 ini_set(‘memory_limit’,’256M’); //升级为256M内存 解决方案2: 修改php.ini  修改php配置 vi /usr/local/php/etc/php.ini memory_limit = 128 改成memory_limit = 256

(3) 其他问题:需要依赖的软件问题,还有对计算机存储有要求,按照现在的交易数量来看最少需要2T的硬盘

附录:安装运行命令集合
作者:幸福诗歌



TO 安装 bitcoin

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章