You can find more information in the Documentation Site
-
Rust Native Library
- Secp256k1
- Multisig (Work in progress)
- BLS
- Hardware Wallet support (Ledger Nano S/X)
- Filecoin transactions (CBOR <> JSON serialization)
-
WASM Library
- Secp256k1
- Multisig (Work in progress)
- BLS
- Hardware Wallet support (Ledger Nano S/X)
- Filecoin transactions (CBOR <> JSON serialization)
-
JSON RPC Server
- Focus: Exchange integration
- Exposes most of the functions available in the signing library
- Lotus integration:
- nonce caching
- determine testnet vs mainnet
- retrieve nonce
- submit signed transaction
- retrieve tx status
-
Examples
Caller Callee Status Node.js JSONRPC Service Ready ✔️ Link Browser WASM Ready ✔️ Link Browser WASM + Ledger Ready ✔️ Link Node.js / Mocha WASM Ready ✔️ Link Rust Rust + Ledger Ready ✔️ Link C Rust Ready ✔️ Link C++ Rust Ready ✔️ Link Java Rust Ready ✔️ Link Kotlin Rust Ready ✔️ Link Go Rust Ready ✔️ Link Objective-C Rust Ready ✔️ Link Swift Rust Ready ✔️ Link Flutter Rust Ready ✔️ Link React Native Rust Planned ⏳ Soon
TIP: A good place to look for reproducible steps is the circleci configuration of this project
make deps
cargo test -p filecoin-signer
To run these tests, you need to set two environment variables first so tests can reach a Lotus node:
LOTUS_SECRET_URL | some_url |
LOTUS_SECRET_JWT | some_jwt |
Then you can run:
cargo test -p filecoin-signer
Build WASM and link it locally so examples are linked to the local version:
make link_wasm
After this, you can run the following tests / examples:
Command | Description |
---|---|
make test_wasm_unit |
Unit tests |
make test_wasm_node |
Node integration tests |
make test_wasm_browser |
Browser integration tests |
make test_wasm_ledger |
Ledger integration tests |