Skip to content

commercionetwork/sacco.dart

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Pub Travis (.org) GitHub

Sacco.dart is a pure Dart package that allows you to easily perform some operations related to the Cosmos.network ecosystem. This includes:

  1. Creating an HD Wallet.
  2. Creating a transaction.
  3. Signing a transaction.
  4. Broadcasting a transaction.

Being it in pure Dart means that you can use it inside your Dart Web projects as well as Flutter ones.

You can find the latest release of sacco.dart on pub.

Usage

Creating a wallet

final networkInfo = NetworkInfo(
  bech32Hrp: 'cosmos',
  lcdUrl: Uri.parse('http://localhost:1337'),
);

const mnemonicString = 'final random flame cinnamon grunt hazard easily mutual resist pond solution define knife female tongue crime atom jaguar alert library best forum lesson rigid';
final mnemonic = mnemonicString.split(' ');

final wallet = Wallet.derive(mnemonic, networkInfo);

Creating a transaction

const message = StdMsg(
  type: 'cosmos-sdk/MsgSend',
  value: {
    'from_address': 'cosmos1huydeevpz37sd9snkgul6070mstupukw00xkw9',
    'to_address': 'cosmos12lla7fg3hjd2zj6uvf4pqj7atx273klc487c5k',
    'amount': [
      {'denom': 'uatom', 'amount': '100'}
    ]
  },
);

final stdTx = TxBuilder.buildStdTx(stdMsgs: [message]);

Signing a transaction

final signedStdTx = await TxSigner.signStdTx(wallet: wallet, stdTx: stdTx);

Sending a transaction

try {
  final txResult = await TxSender.broadcastStdTx(wallet: wallet, stdTx: signedStdTx);
  print('Tx send successfully. Hash: ${txResult.hash}');
} catch (error) {
  print('Error while sending the tx: $error');
}

Creating a wallet with different index of derivation path

const derivationPathIndex = '1'; // Using index 1 instead 0
final networkInfo = NetworkInfo(
  bech32Hrp: 'cosmos',
  lcdUrl: Uri.parse('http://localhost:1337'),
);

const mnemonicString = 'final random flame cinnamon grunt hazard easily mutual resist pond solution define knife female tongue crime atom jaguar alert library best forum lesson rigid';
final mnemonic = mnemonicString.split(' ');

final wallet = Wallet.derive(mnemonic,  networkInfo, derivationPathIndex);

About

Dart implementation of Sacco, our cryptographic library that allows easy creation, signing and sending of Cosmos Network transactions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages