我想开发一个Dapp,允许用户发送和接收我自己的令牌(智能契约)。
到目前为止,我成功地建立了一个使用web3的简单Meteor应用程序。因此,现在它可以与我部署在testrpc上的智能契约进行交互。应用程序可以发送/接收令牌。
问题如下:
(1)什么是最好的或可行的方法,以便我的Meteor-web3应用程序的用户可以设置他/她的ethereum帐户,并最终他/她可以与令牌/智能合同进行交易?
(2)我正在考虑将Meteor-web3转换为移动Dapp。这在Ehteruem直播的网络上有可能吗。
提前感谢您的指导。
发布于 2017-10-07 16:35:45
让用户与Blockchain交互的最简单的方法是使用Metamask注入的web3,它允许应用程序和用户访问他们的帐户。通过Metamask,他们可以签署交易(如发送令牌)和发送以太。当然,这要求用户拥有Chrome和Metamask。
典型的退步是,如果没有Metamask,DApps就会连接到用户的本地geth (http://localhost:8545)。这使他们能够访问他们的帐户和Blockchain,但是您仍然需要用户运行本地geth节点,并且熟悉终端命令来解锁他们的帐户,等等。
也许还有其他一些轻钱包客户,但我还没有使用这些。
对于我的DApp,我所做的另一件事是在AWS上创建一个远程geth节点,并使用它作为我的web3提供程序。(数字海洋似乎也很受欢迎,这里的许多帖子都提到了这一点。)这样做的目的是为没有Chrome/Metamask或本地geth节点运行的用户提供web3。他们甚至可以从手机上访问Blockchain数据。然而,这是只读的,他们仍然需要Metamask或本地的geth来签署和发送交易。还请注意,如果您有https站点,则需要创建nginx反向代理服务器来创建SSL geth节点,geth默认不支持该节点。
发布于 2017-10-07 18:35:38
如果您希望您的应用程序完全分散(这可能是一个很好的假设,因为这是创建应用程序的关键),那么您将希望您的应用程序访问他们的计算机上的本地local节点,并/或在应用程序的初始化过程中为他们下载。
一旦应用程序的用户有了某种类型的节点(完整的、轻量级的等等),那么应用程序就可以通过IPC/RPC方法交互本地节点。这将使您的应用程序能够完全访问etc网络,并允许用户与其交互(即发送事务以使用/接收令牌、运行合同代码等)。在我看来,这是最好的方法,因为它使一个完全分散的应用程序。要做一个非常好的应用程序,您可能会想要构建一个用户界面--您的应用程序不需要用户对与that网络的交互了解多少。
可以在移动设备上运行的Ethereum客户端还处于开发阶段,但是如果您想做出贡献,那将是非常棒的!一旦一个可靠和高效的轻型客户端实现,Dapp的真正力量将闪耀在移动设备上!
https://ethereum.stackexchange.com/questions/27963
复制相似问题