使用Eosdart程序包的Flutter应用程序推送Transacton错误

问题描述 投票:0回答:1

在推动交易时收到此错误,我是否按照正确的程序进行交易确切的错误是什么


void main() => runApp(AddBorrower());

class AddBorrower extends StatefulWidget {
  @override
  _AddBorrowerState createState() => _AddBorrowerState();
}

class _AddBorrowerState extends State<AddBorrower> {
  eos.Account _account;
  eos.EOSClient _eosClient = eos.EOSClient(
      'http://jungle2.cryptolions.io:80', 'v1',
      privateKeys: ["PrivateKey"]);

  static List<eos.Authorization> auth = [
    eos.Authorization()
      ..actor = 'guru11111111'
      ..permission = 'active'
  ];

  static Map data = {
    'acc_name': myController1,
    'b_id': myController2,
    'location': myController3,
    'b_phone': myController4,
    'credit_amnt': myController5,
  };

  static List<eos.Action> actions = [
    eos.Action()
      ..account = 'guru11111111'
      ..name = 'addborrower'// action name to be called on blockchain
      ..authorization = auth
      ..data = data
  ];
  eos.Transaction transaction = eos.Transaction()..actions = actions;

  void _fetchEOSAccount() {
    _eosClient.getAccount(myController2.text).then((eos.Account account) {
      setState(() {
        _account = account;
      });
    });
  }

  void add() {
    _eosClient.pushTransaction(transaction, broadcast: true).then((trx) {
      print(trx);
    });
  }

  static final myController1 = TextEditingController();
  static final myController2 = TextEditingController();
  static final myController3 = TextEditingController();
  static final myController4 = TextEditingController();
  static final myController5 = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.teal,
        body: SafeArea(
          child: Column(
            children: <Widget>[
              Card(
                color: Colors.white,
                margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),
                child: TextField(
                  controller: myController1,
                  decoration: InputDecoration(
                    border: InputBorder.none,
                    hintText: 'Enter Full Name',
                  ),
                ),
              ),
              Card(
                color: Colors.white,
                margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),
                child: TextField(
                  controller: myController2,
                  decoration: InputDecoration(
                    border: InputBorder.none,
                    hintText: 'Enter ID',
                  ),
                ),
              ),
              Card(
                color: Colors.white,
                margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),
                child: TextField(
                  controller: myController3,
                  decoration: InputDecoration(
                    border: InputBorder.none,
                    hintText: 'Loaction',
                  ),
                ),
              ),
              Card(
                color: Colors.white,
                margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),
                child: TextField(
                  controller: myController4,
                  decoration: InputDecoration(
                    border: InputBorder.none,
                    hintText: 'Contact Number',
                  ),
                ),
              ),
              Card(
                color: Colors.white,
                margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),
                child: TextField(
                  controller: myController5,
                  decoration: InputDecoration(
                    border: InputBorder.none,
                    hintText: 'Loan Required',
                  ),
                ),
              ),
              Card(
                color: Colors.white,
                child: FlatButton(
                  child: Text('Submit'),
                  onPressed: () {
//                    Navigator.pop(context);

                    add();
                  },
                ),
              ),
              Flexible(
                child: Text('${_account?.toJson()}'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
ERROR:
E/flutter (29031): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Unknown type: float64
E/flutter (29031): #0      getType (package:eosdart/src/serialize.dart:1149:3)
E/flutter (29031): #1      getTypesFromAbi.<anonymous closure> (package:eosdart/src/serialize.dart:1194:20)
E/flutter (29031): #2      CastMap.forEach.<anonymous closure> (dart:_internal/cast.dart:286:8)
E/flutter (29031): #3      __InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:367:8)
E/flutter (29031): #4      CastMap.forEach (dart:_internal/cast.dart:285:13)
E/flutter (29031): #5      getTypesFromAbi (package:eosdart/src/serialize.dart:1189:9)
E/flutter (29031): #6      EOSClient._getContract (package:eosdart/src/client.dart:267:17)
E/flutter (29031): <asynchronous suspension>
E/flutter (29031): #7      EOSClient._serializeActions (package:eosdart/src/client.dart:291:33)
E/flutter (29031): <asynchronous suspension>
E/flutter (29031): #8      EOSClient.getRequiredKeys (package:eosdart/src/client.dart:195:17)
E/flutter (29031): <asynchronous suspension>
E/flutter (29031): #9      EOSClient._pushTransactionArgs (package:eosdart/src/client.dart:329:15)
E/flutter (29031): <asynchronous suspension>
E/flutter (29031): #10     EOSClient.pushTransaction (package:eosdart/src/client.dart:246:53)
E/flutter (29031): <asynchronous suspension>
E/flutter (29031): #11     _AddBorrowerState.add (package:microfinance/addborrower.dart:55:16)
E/flutter (29031): #12     _AddBorrowerState.build.<anonymous closure> (package:microfinance/addborrower.dart:137:21)
E/flutter (29031): #13     _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:635:14)
E/flutter (29031): #14     _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:711:32)
E/flutter (29031): #15     GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter (29031): #16     TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
E/flutter (29031): #17     TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:275:7)
E/flutter (29031): #18     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:455:9)
E/flutter (29031): #19     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:75:13)
E/flutter (29031): #20     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:102:11)
E/flutter (29031): #21     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
E/flutter (29031): #22     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter (29031): #23     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter (29031): #24     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter (29031): #25     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter (29031): #26     _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter (29031): #27     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter (29031): #28     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter (29031): #29     _invoke1 (dart:ui/hooks.dart:250:10)
E/flutter (29031): #30     _dispatchPointerDataPacket (dart:ui/hooks.dart:159:5)
E/flutter (29031): 

请说明我是否可以对此进行任何改进E / flutter(29031):[错误:flutter / lib / ui / ui_dart_state.cc(148)]未处理的异常:未知类型:float64E / flutter(29031):#0 getType(软件包:eosdart / src / serialize.dart:1149:3)E / flutter(29031):#1 getTypesFromAbi。 (软件包:eosdart / src / serialize.dart:1194:20)E / flutter(29031):#2 CastMap.forEach。 (dart:_internal / cast.dart:286:8)E / flutter(29031):#3 __InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.forEach(dart:collection-patch / compact_hash.dart:367:8)

flutter flutter-layout flutter-dependencies
1个回答
0
投票

之所以出现此错误,是因为Eosdart pacakge的序列化文件中没有float32和float64。在eosdart存储库中,有一个关于float32-和float64-串行化的开放git问题和一个pull请求,

请参见:IssuePull-Request

而且还有一个与Eosdart相同的新库来解决Float类型序列化问题,因此您也可以通过此程序包snaxdart

© www.soinside.com 2019 - 2024. All rights reserved.