我想在我的Flutter应用程序中使用Ether JS . 我知道它不是直接支持的,甚至现有的实现也没有很好地记录 .
有没有什么办法可以在我的Flutter Android和iOS应用程序中使用这个库?任何其他替代建议也欢迎 .
我试过js.dart但无法弄清楚如何使用它 . 我甚至不确定它是否适合这种情况 .
我也试过Flutter WebView Plugin .
plugin.evalJavascript(
'function add(a,b){return a+b;}add(2,3);'
).then((s) {
print(s);
}
此函数正确地返回 5
作为响应 . 但我不明白如何使用这样的EtherJS库 .
我是Flutter,Dart和JS的菜鸟 . 任何帮助将不胜感激 .
1 回答
老实说,如果你愿意投入相当多的时间 . 它取决于你究竟是什么时候将它与颤振整合起来很困难 . 有一个Ethereum package,但它看起来比你一直在看的ether.js库的范围要窄得多 - 它主要集中在与RPC api的通信而不是处理钱包等 .
如果您已经决定使用Flutter,那么最好的办法是使用Android和iOS特定的库来执行实际的以太坊内容,并通过Platform Channels与您的dart代码中的公共API进行通信 . 这可能是一项重大任务,具体取决于您需要暴露多少API,特别是对于那些刚接触扑克/飞镖以及可能进行android / ios开发的人 . 这比使用webview中运行的javascript来回传递要高得多,并且实际上可能更容易编码,因为flutter现在没有任何好的机制来调用js代码 .
还有另一种选择 - 完全使用不同的客户端UI框架 . React native可能会做你需要的一切,并且具有使用Javascript的优势,因此它很可能很容易集成Ether.js库,虽然我不能保证它实际上完全支持ether.js库(它的运行时可能没有例如,必要的加密扩展) .