怎么使用Meteor开发以太坊Dapp

发布时间:2021-12-23 09:55:54 作者:iii
来源:亿速云 阅读:159

本篇内容介绍了“怎么使用Meteor开发以太坊Dapp”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

常问问题

Meteor不是一个完整的堆栈框架,它是如何适应Ðapp开发的

是的,Meteor是一个完整的堆栈框架,它的主要改进是实时Web应用程序,但Meteor也是第一个框架(我知道),它完全支持了单页app(SPA)开发并提供了所有必要的工具。

Meteor非常适合的5个理由:

我是否需要在服务器上托管我的Ðapp?

不,使用 meteor-build-client ,你可以在没有服务器的情况下运行Ðapp的所有静态资源,但是如果你使用像ironflow-router这样的路由器 ,则需要使用hash(index.html#!/mypath)路由而不是干净的HTML5 pushstate路由。

创建你的Ðapp

如果还没有安装Meteor:

$ curl https://install.meteor.com/ |  SH

然后创建一个app:

$ meteor create myDapp$ cd myDapp

接下来添加web3包:

$ meteor add ethereum:web3

我还建议添加以下包:

启动你的Ðapp

游览Meteors文件夹结构

Meteor不会强制你拥有特定的文件夹结构,尽管某些文件夹具有特定含义,并且在绑定/运行你的应用程序时将被区别对待。

具有特定处理的文件夹

因此,为了构建Ðapp,我们理想状况下是在myDapp文件夹中创建以下文件夹结构:

- myDapp
   - client
      - lib
      - myDapp.html
      - myDapp.js
      - myDapp.css
   - public

注意社区还提供了像Nick Dodson这样的Meteor Ðapp Boilerplates: https://github.com/SilentCicero/meteor-dapp-boilerplate

连接你的Ðapp

要连接我们的dapp,我们需要在另一个终端中使用正确的CORS头开始geth

$ geth --rpc --rpccorsdomain "http://localhost:3000"

我们还需要设置provider。理想情况下,我们在lib文件夹中创建一个名为init.js的文件,并添加以下行:

if(typeof web3 === 'undefined')
    web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545'));

运行你的Ðapp

现在我们可以通过简单运行来运行我们的Ðapp:

$ meteor

如果我们转到http://localhost:3000,我们应该看到一个网站出现,如果我们打开浏览器控制台,我们可以使用web3对象来查询geth节点:

> web3.eth.accounts['0xfff2b43a7433ddf50bb82227ed519cd6b142d382']

添加Ðapp样式

如果你希望你的Ðapp很好地适应Mist并且遵循官方的外观,请使用 dapp-styles css css/less框架 。

请注意,它们正在大量开发中,类名称和元素可能会发生变化。

要添加它,请将以下包添加到Ðapp:

$ meteor add less$ meteor add ethereum:dapp-styles

现在将myDapp.css重命名为myDapp.less并在其中添加以下行:

// libs@import '{ethereum:dapp-styles}/dapp-styles.less';

现在,你可以使用所有dapp-styles类,也可以覆盖框架的所有变量。你可以在回调中找到它们。通过将它们复制到myDapp.less文件并设置不同的值来覆盖它们。

使用以太坊包

为了让你的Ðapp开发人员更轻松,我们提供了一些帮助你更快地构建Ðapp的软件包。

如果你添加上面推荐的软件包,你应该使用以太坊:ethereum:toolsethereum:accountsethereum:blocks

这3个包为你提供了EthToolsEthAccountsEthblocks对象,它们为你提供格式化程序功能,包含来自web3.eth.accounts(具有自动更新余额)的帐户的集合以及最近50个块的集合。

大多数这些功能都是响应式的,因此它们应该使构建界面变得轻而易举。

用法示例

如果你看看myDapp.html你会发现hello模板。只需在<template name="hello">..</template>标签之间添加一个名为{{currentBlock}}helper

现在打开myDapp.js并在counter() {..}之后添加currentBlock helper:

Template.elements.helpers({    counter() {
      ...
    },    currentBlock() {        return EthBlocks.latest.number;
    }
  });

然后通过添加EthBlocks.init();初始化EthBlocks EthBlocks.init();在this.counter = new ReactiveVar(0)

如果你现在在浏览器中检查Ðapp,你应该会看到最新的块号,一旦你开采,它将会增加。

有关更多示例,请查看软件包的readme文件和 演示   (源代码) 以获取更多信息。

Ðapp代码结构

本教程不会用Meteor构建应用程序。有关这方面的信息,请参阅 Meteor的教程 , 优秀资源列表  或使用Meteor或Discover Meteor构建单页Web应用程序等书籍。

TODO:

有关示例,请参阅 以太坊钱包 。

绑定你的Ðapp

要将Ðapp绑定到本地独立文件,请使用meteor-build-client

$ npm install -g meteor-build-client$ cd myDapp$ meteor-build-client ../build --path ""

这会将你的Ðapps静态文件放入myDapp文件夹上方的build文件夹中。

最后一个选项--path将使所有文件相对链接,允许你通过单击build/index.html启动应用程序。

“怎么使用Meteor开发以太坊Dapp”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 区块链学习(3)--以太坊Dapp开发
  2. 如何用智能合约开发以太坊DApp应用程序

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

dapp

上一篇:如何使用Frida绕过Android网络安全配置

下一篇:mysql中出现1053错误怎么办

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》