带有 NativeScript 的 web3

Posted

技术标签:

【中文标题】带有 NativeScript 的 web3【英文标题】:web3 with NativeScript 【发布时间】:2019-01-17 20:32:06 【问题描述】:

如何在 NativeScript 中使用 web3.js 库(用于以太坊开发)?

我试过了:

通过npm install web3@0.20.7 --save安装web3 通过 Sidekick 中的插件管理器安装 web3 甚至尝试过const Web3 =require('https://cdn.jsdelivr.net/gh/ethereum/web3.js/dist/web3.min.js'); 还尝试了const Web3 = require("./web3.min.js"); 与文件夹中的 web3.min.js 文件,但随后 console.log(Web3) 只打印一个空数组。

另外,我添加了 NativeScript 插件 nativescript-nodeify

在前三种情况下,我得到一个异常(除其他外)“调用 js 方法 onCreate 失败”

注意:我明确不想通过后端处理与以太坊的交互

【问题讨论】:

你有没有找到解决这个问题的方法?我也想做同样的事情。 您可以在 webview 中使用 web3,使用 @nota/nativescript-webview-ext 以便您可以在 webview 和您的 nativescript 代码之间来回通信。 (我已经像这样使用它并且对我来说效果很好) 【参考方案1】:

我确实无法让 web3js 与 NativeScript 一起工作。看起来不可能,例如 web3 将使用浏览器与元掩码进行通信。

神经紧张,可能有一个解决方案,使用 eth.js :

// in your root project directory
// NOT with nativescript sidekick !
npm install --save ethjs
tns plugin add nativescript-nodeify

// then, in your code
require("nativescript-nodeify");
const Eth = require('ethjs');

然后,您可以与以太坊区块链进行交互。

编辑:TNS 插件名称是 nativescript-nodeify

【讨论】:

以上是关于带有 NativeScript 的 web3的主要内容,如果未能解决你的问题,请参考以下文章

带有 NativeScript 的 web3

带有 Nativescript 的滚动视图中的多个全屏

带有 3rd 方推送服务的 Nativescript 推送通知

带有 nativescript-vue 的轮播

tns 预览不适用于带有 nativescript-vue 的 android

使用 nativescript-plugin-firebase 添加带有查询的事件侦听器