#sign #transaction #offline #ethereum

ethereum-tx-sign

允许您离线签名以太坊交易

15 个稳定版本 (5 个主要版本)

使用旧的 Rust 2015

6.1.3 2024年3月19日
6.1.2 2023年5月23日
6.1.1 2023年4月14日
6.1.0 2022年11月29日
0.0.2 2018年8月31日

#866 in 魔法豆

Download history 238/week @ 2024-04-08 148/week @ 2024-04-15 148/week @ 2024-04-22 116/week @ 2024-04-29 164/week @ 2024-05-06 269/week @ 2024-05-13 299/week @ 2024-05-20 152/week @ 2024-05-27 203/week @ 2024-06-03 212/week @ 2024-06-10 189/week @ 2024-06-17 129/week @ 2024-06-24 165/week @ 2024-07-01 190/week @ 2024-07-08 176/week @ 2024-07-15 187/week @ 2024-07-22

每月下载量 722
用于 3 crates

MIT 许可证

58KB
1K SLoC

Rust 822 SLoC // 0.0% comments JavaScript 196 SLoC // 0.0% comments

ethereum-tx-sign

这是一个 Rust 库,允许您创建和签名以太坊交易。它可以完全离线工作,且不需要像 Web3 这样的外部软件。支持遗产和访问列表交易(分别对应于 EIP-155EIP-2930)。

Build Status

用法

使用原生 Rust 类型进行交易字段

use ethereum_tx_sign::LegacyTransaction;

let new_transaction = LegacyTransaction {
    chain: 1,
    nonce: 0,
    to: Some([0; 20]),
    value: 1675538,
    gas_price: 250,
    gas: 21000,
    data: vec![/* contract code or other data */],
}

签名交易分为两步。首先,您使用您的私钥获取 ECDSA。然后使用它来签名交易。

let ecdsa = new_transaction.ecdsa(&private_key_32_bytes);
let transaction_bytes = new_transaction.sign(&ecdsa);

transaction_bytes 现在是一个包含准备好发送的序列化交易的 Vec<u8>

有关更多信息和方法,请参阅 docs.rs 上的 Rust 文档.

贡献

此仓库接受贡献。对于任何疑问、问题或建议,请不要犹豫提出问题。拉取请求必须满足以下标准

  1. 目标分支是 development。
  2. 它修复了一个错误,支持了一个新的 EIP,或提高了库对 >50% 的所有用户的价值。
  3. 您有 95% 的单元测试覆盖率,并且所有测试都通过。
  4. 遵循 语义版本化
  5. 只有在最后手段的情况下才会引入破坏性更改。

有关生成参考测试数据,请参阅 test/generate

@synlestidae 是仓库所有者,并将监督所有贡献。

致谢

感谢这些人的贡献

  • 34x4p08
  • tritone11
  • rodoufuT
  • victor-wei126

依赖项

~6.5MB
~78K SLoC