he426100 / filecoin-tx
Filecoin transaction library in PHP
0.0.2
2022-07-28 10:09 UTC
Requires
- php: ^7.4|^8.0
- deemru/blake2b: ^1.0
- mdanter/ecc: dev-master
- simplito/elliptic-php: ^1.0
- skleeschulte/base32: ^0.0.2
Requires (Dev)
- phpunit/phpunit: 9.5.x-dev
This package is auto-updated.
Last update: 2025-02-28 16:18:49 UTC
README
此项目源自 https://github.com/yuminuo/filecoin-tx
Filecoin transaction library in PHP(Only for secp256k1).
Install
composer require he426100/filecoin-tx
Usage
sign
Returns signed of transaction data.
sign(array $message, string $privateKey)
Example
- Sign the transaction data.
use He426100\FilecoinTx\Sign; $fromAddress = 't1hb4737umuzzbcfd3xxk3bdtwezgistj7dycypvi'; $rpc = new Rpc(...); $nonce = $rpc->request('MpoolGetNonce', $fromAddress); $message = [ 'Version' => 0, 'From' => $fromAddress, 'To' => 't1qkqqbmrbhsvjdturbalnyb3tudqxtmbp6x7ohry', 'Value' => '100000000000000000', // 此参数必须是字符串 0.1 FIL 'Method' => 0, // 表示send 'Nonce' => $nonce, // 交易序号,用接口 MpoolGetNonce 获取 'Params' => '', // base64 编码数据 'GasLimit' => 0, // 可用接口估算 GasEstimateGasLimit 'GasPremium' => "0", // 此参数必须是字符串,可用接口估算 GasEstimateGasPremium 'GasFeeCap' => "0" // 此参数必须是字符串,可用接口估算 GasEstimateFeeCap ]; $gas = $rpc->request('GasEstimateMessageGas', $message, ['MaxFee' => bcmul('0.1', bcpow(10, 18))], null); $message['GasPremium'] = $gas['GasPremium']; $message['GasFeeCap'] = $gas['GasFeeCap']; $message['GasLimit'] = $gas['GasLimit']; $sign = new Sign(); $signData = $sign->sign($message, "ee2868ca9485673b36c38ba4f18551be25d08dd9be9bd24c44cd626b37cadae4"); //获取messageID $message['cid'] = ['/' => $sign->getMessageId()]; //获取离线计算发送返回CID $sign->getCid(); $signMessageData = [ 'message' => $message, 'signature' => [ 'data' => $signData, 'type' => 1 //SECP256K1=1 ] ];
License
MIT