zilliqa_ledger_flutter 0.0.4 copy "zilliqa_ledger_flutter: ^0.0.4" to clipboard
zilliqa_ledger_flutter: ^0.0.4 copied to clipboard

PlatformAndroid

A Zilliqa Ledger Plugin for Flutter. Supports sending transactions and getting accounts from Ledger hardware wallets.

ledger-zilliqa

A Flutter Ledger App Plugin for the Zilliqa blockchain
Report Bug Β· Request Feature Β· Ledger Flutter



Overview #

Ledger Nano devices provide secure hardware wallet solutions for managing your cryptocurrencies. This Flutter package is a plugin for the ledger_flutter package that enables interaction with the Zilliqa blockchain, allowing you to retrieve accounts and sign transactions using your Ledger hardware wallet.

Features #

  • πŸ”‘ Get public keys and addresses
  • πŸ“ Sign transactions
  • πŸ” Sign message hashes
  • πŸ“± Cross-platform support (iOS & Android)
  • ⚑️ Fast and efficient BLE communication
  • πŸ”’ Secure transaction signing

Getting Started #

Installation #

Add the latest version of this package to your pubspec.yaml:

dependencies:
  zilliqa_ledger_flutter: ^latest-version

For integration with the Ledger Flutter package, check out the documentation here.

Setup #

Create a new instance of a ZilliqaLedgerApp and pass an instance of your Ledger object:

final app = ZilliqaLedgerApp(ledger);

Usage #

Get Public Key and Address #

You can retrieve the public key and address for a specific account index:

// Get public key
final publicKey = await app.getPublicKey(device, accountIndex);

// Get public address
final addressInfo = await app.getPublicAddress(device, accountIndex);
print('Address: ${addressInfo.address}');
print('Public Key: ${addressInfo.publicKey}');

Sign Transactions #

Sign Zilliqa transactions using your Ledger device:

// Prepare your transaction bytes
final transaction = // Your encoded transaction bytes

final signature = await app.signZilliqaTransaction(
    device,
    transaction,
    accountIndex,
);

// Use the signature with your transaction
print('Transaction signature: $signature');

Sign Message Hash #

Sign message hashes for verification:

final hash = // Your message hash bytes
final signature = await app.signHash(
    device,
    hash,
    accountIndex,
);

print('Message signature: $signature');

Error Handling #

The plugin includes comprehensive error handling for common Ledger operations:

try {
  final publicKey = await app.getPublicKey(device, accountIndex);
} catch (e) {
  if (e is LedgerException) {
    // Handle Ledger-specific errors
    print('Ledger error: ${e.message}');
  } else {
    // Handle other errors
    print('Error: $e');
  }
}

Contributing #

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag enhancement.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/amazing-feature)
  3. Commit your Changes (git commit -m 'feat: add some amazing feature')
  4. Push to the Branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License #

The zilliqa_ledger_flutter package is released under the MIT License. See LICENSE for details.

Support #

If you like this package, consider supporting it by:

  • ⭐️ Starring the repository
  • πŸ› Reporting bugs
  • πŸ“ Contributing to the codebase
  • πŸ’‘ Suggesting new featuresrom the package authors, and more.
0
likes
155
points
33
downloads

Publisher

unverified uploader

Weekly Downloads

A Zilliqa Ledger Plugin for Flutter. Supports sending transactions and getting accounts from Ledger hardware wallets.

Repository (GitHub)
View/report issues

Topics

#ledger #blockchain #zilliqa #hardware-wallet #web3

Documentation

API reference

Funding

Consider supporting this project:

github.com

License

MIT (license)

Dependencies

flutter, ledger_flutter

More

Packages that depend on zilliqa_ledger_flutter