codecamp

Moralis 创建Dapp

什么是 Moralis Dapp?

每个 ​Dapp ​通常分为 2 个部分:

  1. 链上:智能合约、代币和 ​NFT ​等链上资产、链上交易等。
  2. 链下:从区块链收集数据的后端基础设施,为 Web 应用程序和移动应用程序等客户端提供 API,索引区块链,提供实时警报,协调不同链上发生的事件,处理用户生命周期 还有更多。

Moralis ​Dapp ​用于加速链下基础设施的实施。 Moralis ​Dapp ​是一个捆绑解决方案,包含大多数 ​Dapp ​所需的所有功能,以便尽快启动。

1.创建一个免费帐户

前往 Moralis 并注册一个免费帐户。

2. 创建 Moralis 服务器

点击右上角的新建服务器。

您可以使用 Moralis 为主网、测试网和本地开发链(例如 ​Hardhat ​和 ​Ganache​)开发 ​dApp​。

现在,请选择主网服务器。

spaces_-MVStbACGLCycg7J5WQ2_uploads_git-blob-2442066a561461f16ac6894f9486156c0ba24eb1_create-new-server

3. 选择 Dapp 网络

出于演示目的,我们选择了 ​Ethereum​、​Polygon​、​BSC ​和 ​Avalanche​。

spaces_-MVStbACGLCycg7J5WQ2_uploads_git-blob-1e72e0e2900956be52a074d472b9b64f6df78ced_Add-new-mainnet-server (1)

4. 探索 Dapp 面板

现在您将在面板中看到您的服务器,我们可以继续并创建一个与服务器对话并能够登录用户、获取用户数据(令牌、​NFT​、历史交易)等等的 Web 应用程序! 当然默认所有支持跨链。

spaces_-MVStbACGLCycg7J5WQ2_uploads_git-blob-800147529d7c4d39976af877c536a1342affb29c_Server-dashboard

服务器显示几个重要指标如上图所示:

  • Network​:每秒网络流量
  • CPU​:服务器的 CPU 使用率
  • RAM​:服务器的 RAM 使用情况
  • DISK​:服务器的磁盘使用情况
  • Number of Users​:在服务器中已通过身份验证的用户数

将 Dapp 迁移到 Nitro 版本

现在,在 Moralis 中创建的每个新 ​Dapp ​都将默认为 ​Nitro​。 但是,在 Moralis ​Nitro ​推出之前创建的那些 ​Dapps ​可能仍在使用旧版本。 要将服务器升级到 ​Nitro​,只需单击此处安装 ​coreservices ​插件。

请记住,一旦添加了 ​coreservices ​插件,就无法删除它。 这意味着从 ​Legacy ​到 ​Nitro ​的迁移将是不可逆转的。 在您的服务器上,您可以将 ​coreservices ​视为插件之一。

spaces_-MVStbACGLCycg7J5WQ2_uploads_git-blob-607ca0a0a250454fa23ba200534b2bff5f551e7b_Plugin

Moralis ​Nitro Dapp​ 有许多重大变化,点击这里了解详情

从旧版迁移到 ​Nitro ​时的一项重要更改是从数据库中删除 ​TokenBalance ​和 ​NFTOwners ​表。 这意味着一旦 Moralis ​Dapp ​被迁移,这些表就会消失

为了获得相同的功能,对这些表的所有查询都应该替换为我们可用的一些 Web3API 来完成相同的工作:

  • TokenBalance -> getTokenBalances
  • NFTOwners -> getNFTOwners


Moralis 简介
Moralis 与Vanilla JS连接
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Moralis 文件

Moralis 工具

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }