ledger-algorand

A Flutter Ledger App Plugin for the Algorand blockchain
« Explore the docs »

Report Bug · Request Feature · Ledger Flutter



Overview

Ledger Nano devices are the perfect hardware wallets for managing your crypto & NFTs on the go. This Flutter package is a plugin for the ledger_flutter package to get accounts and sign transactions using the Algorand blockchain.

Web3 Ecosystem Integrations

We are expanding the Flutter ecosystem to grow the Web3 community. Check out our other Web3 packages below:

Getting started

Installation

Install the latest version of this package via pub.dev:

ledger_algorand: ^latest-version

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

Setup

Create a new instance of an AlgorandLedgerApp and pass an instance of your Ledger object.

final app = AlgorandLedgerApp(ledger);

Usage

Get public keys

Depending on the required blockchain and Ledger Application Plugin, the getAccounts() method can be used to fetch the public keys from the Ledger Nano device.

Based on the implementation and supported protocol, there might be only one public key in the list of accounts.

final accounts = await app.getAccounts(device);

Signing transactions

You can easily sign transactions using the supplied LedgerApp.

Here is an example using the algorand_dart SDK:

final signature = await app.signTransaction(
    device,
    transaction.toBytes(),
);

final signedTx = SignedTransaction(
  transaction: event.transaction,
  signature: signature,
);

final txId = await algorand.sendTransaction(
    signedTx,
    waitForConfirmation: true,
);

Sponsors

Our top sponsors are shown below!

Defly

Blockshake

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/my-feature)
  3. Commit your Changes (git commit -m 'feat: my new feature)
  4. Push to the Branch (git push origin feature/my-feature)
  5. Open a Pull Request

Please read our Contributing guidelines and try to follow Conventional Commits.

License

The ledger_algorand SDK is released under the MIT License (MIT). See LICENSE for details.

Libraries

ledger_algorand