andkom/php-bitcoin-blockchain

一个简单的PHP库,用于读取比特币区块链数据库。

1.0.0 2018-12-15 12:54 UTC

This package is auto-updated.

Last update: 2024-09-15 01:09:54 UTC


README

比特币区块链数据库解析器的PHP实现。

特性

  • 解析无序区块数据
  • 解析有序区块数据
  • 解析区块索引
  • 解析链状态(UTXO数据库)

要求

  • PHP >= 7.1
  • Bitcoin Core >= 0.15.1
  • leveldb >= 1.20
  • php-leveldb >= 0.2.1
  • php-gmp >= 7.1

安装

composer require andkom/php-bitcoin-blockchain

示例

$databaseReader = new DatabaseReader('/path/to/bitcoin');

// read ordered blocks
foreach ($databaseReader->readBlocks() as $block) {
}

// read unordered blocks
foreach ($databaseReader->readBlocksUnordered() as $block) {
}

// read UTXO 
foreach ($databaseReader->getChainstate()->read() as $utxo) {
}

// get block by hash
$block = $databaseReader->getBlockByHash('binary hash in little endian'); 

// get block by height
$block = $databaseReader->getBlockByHeight(12345);

// get best block hash
$hash = $databaseReader->getChainstate()->getBestBlock();

更多示例请参阅examples目录。

LevelDB安装

Ubuntu/Debian

apt-get install libleveldb-dev
pecl install leveldb-0.2.1

Mac OS

brew install leveldb
pecl install leveldb-0.2.1

或从源代码编译

git clone https://github.com/google/leveldb.git
cd leveldb
mkdir -p build && cd build
cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .
make install
cd ../../
git clone https://github.com/reeze/php-leveldb.git
cd php-leveldb
phpize
./configure --with-leveldb
make
make install

确保您已在php.ini中启用了leveldb.so扩展。