minter/php-rlp

PHP 中的递归长度前缀编码。

v1.0.0 2020-03-11 09:01 UTC

This package is auto-updated.

Last update: 2024-09-11 19:35:59 UTC


README

PHP 中的递归长度前缀编码。

Build Status codecov Licensed under the MIT License

安装

设置最小稳定性为开发版本

composer require web3p/rlp

使用方法

RLP 编码

use Web3p\RLP\RLP;

$rlp = new RLP;
$encodedBuffer = $rlp->encode(['dog']);

// to string, encoding: ascii utf8 hex
$encodedBuffer->toString($encoding);

RLP 解码

use Web3p\RLP\RLP;

$rlp = new RLP;
$encodedBuffer = $rlp->encode(['dog']);

// only accept 0x prefixed hex string
$decodedArray = $rlp->decode('0x' . $encodedBuffer);

// show dog
echo $decodedArray[0]->toString('utf8');

API

Web3p\RLP\RLP

encode

返回给定数据的递归长度前缀编码。

encode(mixed $inputs)

混合输入 - 字符串、整数或数值字符串的数组。

示例
  • 编码字符串数组。
use Web3p\RLP\RLP;

$rlp = new RLP;
$encodedBuffer = $rlp->encode(['web3p', 'ethereum', 'solidity']);
$encodedString = $encodedBuffer;

decode

返回给定数据的递归长度前缀解码数组。

decode(string $input)

字符串输入 - 递归长度前缀编码的字符串。

示例
  • 解码递归长度前缀编码的字符串。
use Web3p\RLP\RLP;

$rlp = new RLP;
$encodedBuffer = $rlp->encode(['web3p', 'ethereum', 'solidity']);
$encodedString = $encodedBuffer;
$decodedArray = $rlp->decode('0x' . $encodedString);

// echo web3p
echo $decodedArray[0]->toString('utf8');

// echo ethereum
echo $decodedArray[1]->toString('utf8');

// echo solidity
echo $decodedArray[2]->toString('utf8');

许可协议

MIT