我希望能为一个移动应用程序(在这里可以忽略移动案例)提供一个策略,从Polkadot浏览器扩展获得Polkadot.js钱包的铬扩展信息。
我的第一个想法是使用dart的JS库并使用Polkadot扩展JS软件包,然后尝试从其中提取信息。但是,我不知道如何正确地使用它,因为它是一个充满依赖关系的包,而不仅仅是一个JS文件。也是在TS而不是JS中。这里有什么想法吗?
例如,我需要一个JS文件才能调用这个文件;而为了让颤振反过来调用JS文件:
import {
web3Enable,
} from '@polkadot/extension-dapp';发布于 2022-01-08 05:23:26
通过写出一个“桥接”层,您可以轻松地完成它。
首先,创建一个普通的javascript (或类型记录)应用程序(与颤振无关)。您应该能够愉快地在js/ts代码中愉快地使用polkadot,而不会有任何问题。您可能需要了解一下如何正常开发js代码(例如,您可以依赖polkadot使用npm等)。
一个小问题是,您应该在js/ts代码中“公开”某个对象。例如,您的代码可能类似于window.myFancyFunction = function() { call_some_polkadot_function(); }。当然,您可以做更多的事情,比如公开其他函数/对象/.
然后,您可以将这个普通的js/ts应用程序绑定到一个.js文件中。对于js/ts开发人员来说,这仍然是非常正常的,在这里应该没有什么特别的处理,而且在这个阶段您仍然不需要触摸颤栗。
接下来,在加载颤振网络应用程序时加载这个单字段的.js文件。您可以简单地通过编辑颤振Web的html文件并添加<script src="my_single_filed_js_mentioned_above.js" />来做到这一点。请注意,在加载此脚本时,它只设置window.myFancyFunction,不再执行任何操作。在这里还是很琐碎的,应该没有问题。
最后,在您的颤振网络代码,即Dart代码中,调用该window.myFancyFunction函数。例如,颤振Web :如何使用dart js运行javascript说你可以做import 'dart:js' as js; js.context.callMethod('myFancyFunction', ['some arguments']);
https://stackoverflow.com/questions/70589528
复制相似问题