wesmiler d049f29f66 Weenier 168otc项目部署 0630 há 3 anos atrás
..
.github d049f29f66 Weenier 168otc项目部署 0630 há 3 anos atrás
src d049f29f66 Weenier 168otc项目部署 0630 há 3 anos atrás
test d049f29f66 Weenier 168otc项目部署 0630 há 3 anos atrás
.gitignore d049f29f66 Weenier 168otc项目部署 0630 há 3 anos atrás
LICENSE d049f29f66 Weenier 168otc项目部署 0630 há 3 anos atrás
README.md d049f29f66 Weenier 168otc项目部署 0630 há 3 anos atrás
composer.json d049f29f66 Weenier 168otc项目部署 0630 há 3 anos atrás
phpunit.xml d049f29f66 Weenier 168otc项目部署 0630 há 3 anos atrás

README.md

rlp

PHP codecov Licensed under the MIT License

Recursive Length Prefix Encoding in PHP.

Install

Set minimum stability to dev

composer require web3p/rlp

Usage

RLP encode:

use Web3p\RLP\RLP;

$rlp = new RLP;
// c483646f67
$encoded = $rlp->encode(['dog']);

// 83646f67
$encoded = $rlp->encode('dog');

RLP decode:

use Web3p\RLP\RLP;
use Web3p\RLP\Types\Str;

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

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

// show 646f67
echo $decoded[0];

// show dog
echo hex2bin($decoded[0]);

// or you can
echo Str::decodeHex($decoded[0]);

API

Web3p\RLP\RLP

encode

Returns recursive length prefix encoding of given inputs.

encode(mixed $inputs)

Mixed inputs - array of string, integer or numeric string.

Note: output is not zero prefixed.

Example
  • Encode array of string.
use Web3p\RLP\RLP;

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

decode

Returns array recursive length prefix decoding of given data.

decode(string $input)

String input - recursive length prefix encoded string.

Note: output is not zero prefixed.

Example
  • Decode recursive length prefix encoded string.
use Web3p\RLP\RLP;
use Web3p\RLP\Types\Str;

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

// echo web3p
echo hex2bin($decoded[0]);

// echo ethereum
echo hex2bin($decoded[1]);

// echo solidity
echo hex2bin($decoded[2]);

// or you can
echo Str::decodeHex($decoded[0]);
echo Str::decodeHex($decoded[1]);
echo Str::decodeHex($decoded[2]);

License

MIT