tuupola/trytes

任意数据的Trytes编码和解码器

0.1.0 2017-12-10 16:29 UTC

This package is auto-updated.

Last update: 2024-09-10 04:46:49 UTC


README

此库实现了IOTA项目描述的Trytes编码。Trytes相当于字节,但是在三进制数制中。

Latest Version Software License Build Status Coverage

安装

使用 composer 安装。

$ composer require tuupola/trytes

用法

$trytes = new Tuupola\Trytes;

$encoded = $trytes->encode(random_bytes(128));
$decoded = $trytes->decode($encoded);

字符集

默认情况下,此库使用IOTA风格的字符集。还提供了七进位字符的快捷方式。如果需要,您可以使用27个唯一字符的任何自定义字符集。

use Tuupola\Trytes;

print Trytes::IOTA; /* 9ABCDEFGHIJKLMNOPQRSTUVWXYZ */
print Trytes::HEPTAVINTIMAL; /* 0123456789ABCDEFGHKMNPRTVXZ */

$default = new Trytes(["characters" => Trytes::IOTA]);
$heptavintimal = new Trytes(["characters" => Trytes::HEPTAVINTIMAL]);
print $default->encode("Hello world!"); /* RBTC9D9DCDEAKDCDFD9DSCFA */
print $heptavintimal->encode("Hello world!"); /* K2N304043451B4346404M361 */

静态代理

如果您更喜欢使用静态语法,请使用提供的静态代理。

use Tuupola\TrytesProxy as Trytes;

$encoded = Trytes::encode(random_bytes(128));
$decoded = Trytes::decode($encoded);

测试

您可以选择手动运行测试或在每个代码更改时自动运行测试。自动测试需要entr工作。

$ make test
$ brew install entr
$ make watch

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件tuupola@appelsiini.net联系,而不是使用问题跟踪器。

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件