美文网首页
用flutter创建cosmos钱包

用flutter创建cosmos钱包

作者: beginnerV | 来源:发表于2019-10-18 08:57 被阅读0次

    import 'package:bip39/bip39.dart' as bip39;

    import 'package:shared_preferences/shared_preferences.dart';

    import 'package:sacco/sacco.dart';

    1.调用bip39库生成助记词,先暂时用shared_preferences存储着

    List mnemonic;

    连接节点

    final networkInfo = NetworkInfo(name: "", bech32Hrp: "cosmos", lcdUrl: "http://172.168.0.78:1317");

    void getMnemonic() async{

    String randomMnemonic = await bip39.generateMnemonic();

    mnemonic = randomMnemonic.split(" ");//将助记词转换成List类型

    prefs.setStringList("mnemonic", mnemonic);

    }

    2.调用sacco库用之前存储的助记词创建钱包对象

    wallet() async{

    SharedPreferences prefs = await SharedPreferences.getInstance();

    var mnemonicString = prefs.getStringList("mnemonic");

    Wallet wallet = Wallet.derive(mnemonicString, networkInfo);

    return wallet;

      }

    获取钱包地址:

    Wallet wa = await wallet();

    print("地址"+wa.bech32Address);

    3.发送一个交易

    final message = StdMsg(

      type: "cosmos-sdk/MsgSend",

    value: {

        "from_address": "cosmos1huydeevpz37sd9snkgul6070mstupukw00xkw9",

        "to_address": "cosmos18rwfv9yj7u4zmahv4y299ft086j704cxal9mtf",

        "amount": [

          {"denom": "zcoin", "amount": "1"}

        ]

      },

    );

    //签名交易

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

    //发送交易

    final signedStdTx = await TxSigner.signStdTx(

                                wallet: wa, stdTx: stdTx);

                            final result = await TxSender.broadcastStdTx(

                              wallet: wallet,

                              stdTx: signedStdTx,

                          );

                            if (result.success) {

                              print("Tx send successfully. Hash: ${result.hash}");

                          } else {

                              print("Tx send error: ${result.error.errorMessage}");                   

                          }

    相关文章

      网友评论

          本文标题:用flutter创建cosmos钱包

          本文链接:https://www.haomeiwen.com/subject/wplymctx.html