archethic_lib_dart 6.0.0-beta archethic_lib_dart: ^6.0.0-beta copied to clipboard
Archethic dart library for Flutter for Node and Browser. This library aims to provide a easy way to create Archethic transaction and to send them over the network
// ignore_for_file: unused_local_variable
import 'package:archethic_lib_dart/src/model/transaction.dart';
import 'package:archethic_lib_dart/src/utils/crypto.dart';
import 'package:archethic_lib_dart/src/utils/utils.dart';
import 'package:pinenacl/encoding.dart';
void main(List<String> args) {
/// It creates a new keypair into hexadecimal format
final keypair =
deriveKeyPair('mysuperpassphraseorseed', 0, isSeedHexa: false);
/// Generate `address`, `timestamp`, `previousPublicKey`, `previousSignature`, `originSignature` of the transaction and
/// serialize it using a custom binary protocol.
final transaction = Transaction(
type: 'transfer',
data: Transaction.initData(),
)
.addUCOTransfer(
'00b1d3750edb9381c96b1a975a55b5b4e4fb37bfab104c10b0b6c9a00433ec4646',
toBigInt(0.420),
)
.build('mysuperpassphraseorseed', 0, curve: 'P256')
.transaction
..toNodeRPC();
/// Sign the transaction with an origin device private key
final originKeypair = deriveKeyPair('origin_seed', 0, isSeedHexa: false);
final transaction2 = Transaction(
type: 'transfer',
data: Transaction.initData(),
)
.addUCOTransfer(
'00b1d3750edb9381c96b1a975a55b5b4e4fb37bfab104c10b0b6c9a00433ec4646',
toBigInt(0.420),
)
.build('mysuperpassphraseorseed', 0, curve: 'P256')
.transaction
.originSign(
uint8ListToHex(
Uint8List.fromList(originKeypair.privateKey!),
),
)..toNodeRPC();
/// Export the transaction generated into JSON
final transaction3 = Transaction(
type: 'transfer',
data: Transaction.initData(),
)
.addUCOTransfer(
'00b1d3750edb9381c96b1a975a55b5b4e4fb37bfab104c10b0b6c9a00433ec4646',
toBigInt(0.420),
)
.build('mysuperpassphraseorseed', 0, curve: 'P256')
.transaction
..toNodeRPC();
}