我正在尝试在Flutter应用程序中使用Ether JS。我知道它没有被直接支持,甚至现有的实现也没有得到很好的记录。
我可以在Android和iOS的Flutter应用程序中使用此库吗?也欢迎任何其他替代建议。
我已经尝试过js.dart,但无法弄清楚如何使用它。我什至不确定这是否是正确的选择。
我也尝试过Flutter WebView插件。
plugin.evalJavascript( 'function add(a,b){return a+b;}add(2,3);' ).then((s) { print(s); }
该函数正确地5作为响应返回。但是我不明白如何使用像这样的EtherJS库。
5
我是Flutter,Dart和JS的菜鸟。任何帮助将不胜感激。
老实说,如果您不熟悉Flutter,Dart和JS,除非您愿意花很多时间,否则您将遇到一些麻烦。它的确取决于您要使用Ether JS库确切地进行什么操作,但是总的来说,您将很难将其与Flutter集成。有一个以太坊软件包,但是它的范围似乎比您一直在看的ether.js库要窄得多- 它似乎主要集中在与RPC api的通信上,而不是与钱包等打交道。
如果您不习惯使用Flutter,最好的选择是使用Android和iOS特定的库来执行实际的以太坊内容,并通过Platform Channels与Dart 代码中的通用api 通信。这取决于您需要公开多少API,这可能是一项艰巨的任务,尤其是对于那些对flutter / dart以及可能对android / ios开发还不熟悉的人。但是,与在Webview中运行的javascript来回通信相比,这将具有更高的性能,并且实际上可能也更容易编写代码,因为flutter目前还没有任何好的js代码调用机制。
还有另一个选择-完全使用其他客户端UI框架。React native可以满足您的所有需求,并且具有使用Javascript的优势,因此它很可能可以轻松地集成Ether.js库,尽管我不能保证它实际上会完全支持ether.js库(它的运行时可能不会具有必要的加密扩展名)。