我的Moralis应用程序ID在前端公开可见。这是安全风险吗?
不,应用程序ID是公开的,并包含在对Moralis的所有请求中。
如果有人拥有AppID和服务器URL,他们可以做什么?
- 注册为新用户。
默认情况下,每个dapp都欢迎任何用户注册。如果您有应用程序ID和服务器url,您可以尝试注册为用户。
要控制如何创建新用户,您可以在用户集合上使用“beforeSave”触发器。
尝试调用CloudFunctions。将CloudFunctions视为API中的端点。
任何人都可以尝试打电话给他们。您可以在dapp中设置角色,以控制哪些用户可以调用哪些CloudFunctions。
例如,您可以确保任何人都可以调用某些CloudFunctions–即使他们在您的dapp中没有帐户。
然后您可以指定其他一些CloudFunctions只能由注册用户调用。
最后,您可以指定某些特定的CloudFunctions只能由具有特定角色的注册用户调用。
尝试向数据库添加新的类或列。默认情况下,Moralis允许客户端在数据库中创建新类并向现有类添加列。这大大加快了开发速度。
当然,当您进行生产时,应该禁用它。
在此处阅读有关禁用客户端类创建的信息。
始终保护万能钥匙
请注意:您要保护主密钥,因为它可以覆盖所有权限并具有读取、写入和删除的完全访问权限。最好只在服务器上使用主密钥(即云功能)。切勿在前端使用主密钥。
为什么你使用签名消息而其他Dapps不使用?
这是验证您是否真正拥有钱包的通用标准。例如,Opensea
、Rarible
等都使用它。
通过Moralis的授权允许用户访问他的用户对象,例如,可以在其中存储私人信息,并且用户也有权更改他的数据。为此,我们使用签名消息。这是一种绝对安全的方式:它不导出私钥,不允许消费代币,并且不需要gas
费。
如果您不需要将用户存储在数据库中,您可以使用enableWeb3()
并使用默认的web3方法获取用户的eth_address
。
如何在论坛和Discord上寻求帮助
如果您想快速获得帮助,您需要执行以下步骤:
- 提供您的服务器子域(什么是服务器子域?) 详细描述您的问题 如果您共享您的代码–始终将其作为格式化代码(而不是屏幕截图)或github存储库发送 附上截图、错误信息
什么是服务器子域?
单击“查看详细信息”按钮后,您可以在Moralis管理面板中找到它
我刚刚铸造了一个NFT–为什么它没有出现在API中?
为了让NFT出现在API中,它需要符合ERC721或ERC1155标准。
这两个标准都需要从ERC165标准实现supportInterface
方法。
如果您使用 OpenZeppelincontracts ,这将自动为您完成。
仔细检查这一点的一种方法是在Etherscan
中打开你的合约,并确保它在你的合约页面上显示ERC721或ERC1155。
为什么某些NFT的元数据为空?
Moralis的目标是始终为您提供完全解析的元数据,这样您就不必自己解析它并节省应用程序的加载时间。
为什么它是空的?
一些NFT的元数据托管在集中式服务器上。这些服务器有时具有速率限制,阻止Moralis完全索引其元数据存储在此类服务器上的集合。在这种情况下,元数据可能无法解析。我们一直在努力扩大元数据的覆盖范围。
如何获取元数据?
即使Moralis不能始终为您解析元数据,我们也会始终为您提供token_uri
,以便您始终可以自己解决。
使用MoralisNFTAPI时,请始终检查是否向您提供了元数据。
如果是–使用它!我们刚刚为您节省了加载时间并提高了应用程序的性能
如果否–向提供的token_uri
发出请求并自己获取元数据。
为什么元数据过时了?
Moralis支持的不同区块链中有数百万个NFT。绝大多数NFT从不更改元数据,因此Moralis不会自动重新同步元数据。这是我们将来可能会做的事情!
目前,Moralis拥有reSyncMetadataAPI,可以帮助您手动触发特定令牌上的元数据重新同步。我们知道此功能在您开发NFT时很重要,您可能正在尝试不同的元数据并在开发应用程序期间经常更新它
加入我们的Discord以在此功能发布时进行更新!
如果您真的希望我们添加自动重新同步功能–在此处添加或投票:https://roadmap.moralis.io/b/feature-requests/
MoralisSpeedy节点的批量请求限制是多少?
目前,我们有一个批次限制为50个请求。在大多数生产情况下,它可能不适合您的需求。因此,我们建议您使用我们的Web3API来获取区块中的所有交易以及交易的所有内容:
getBlock getTransaction orcheckanyotherofourendpoints如果提供的Web3API不适合您的需求并且更喜欢使用较大批量的节点–您可以在此处注册我们的合作伙伴。
我应该在Mac上使用什么版本?
frp_x.xx.x_darwin_amd64.tar.gz
我应该如何在Mac上运行frpc?
打开一个终端。 导航到frpc目录。 键入./frpc-cfrpc.ini
。为什么Mac会说frpc来自身份不明的开发者?
这是因为frpc没有为Mac签名。要允许它运行,请按照下列步骤操作:
导航到Finder中的frpc
文件夹。 按住“Ctrl”键的同时右键单击frpc
可执行文件。 选择打开。Mac将为您提供有关覆盖系统安全性风险的信息。请仔细阅读并在您同意的情况下单击弹出窗口中的“打开”。
授予frpc权限有什么风险,即使它来自身份不明的开发人员?
frpc可执行文件未经Apple签名。这意味着操作系统无法知道它将执行什么样的代码。通过接受覆盖或跳过系统安全性,您就是在告诉操作系统您信任该应用程序。请自行承担责任和风险。为避免任何问题,请确保您已从https://github.com/fatedier/frp/releases的官方存储库下载frpc。
为什么OpenSea上的NFT数量与MoralisAPI不同?
我们的API只能读取链上公开的数据。OpenSea共享合约上的惰性铸造NFT仅存储在集中式OpenSea数据库中,直到第一次转移。
您可以在OpenSea博客上找到更多信息:https://opensea.io/blog/announcements/introducing-the-collection-manager/。
另一个原因可能是来自OpenSea库存的NFT位于不同的链中。在这种情况下,您需要为每个网络发出API请求。
什么是休眠服务器?
Moralis的使命是为web3开发社区提供可用的工具。这意味着我们有非常慷慨的免费计划。这也意味着我们允许任何人注册和启动Moralis服务器。
然而,Moralis服务器是免费的这一事实意味着其中一些服务器会无限期地运行而没有任何用处。我们希望我们所有的资源都用于构建令人惊叹的web3技术和发展Moralis社区——我们不想浪费资源运行不活动的服务器。
谢天谢地,我们找到了一个非常简单的解决方案
如果您是免费套餐用户,您需要每3天确认您仍在使用您的服务器。这就是它的工作原理
防止服务器休眠
每3天,您将收到一封电子邮件,提示您登录Moralis帐户,并通过单击“阻止睡眠”按钮阻止您的服务器进入睡眠状态。
您有24小时的时间来阻止Moralis服务器休眠。如果您不阻止服务器休眠,它将暂时关闭(它将进入休眠状态)。
当服务器关闭时,您将经历停机时间,直到您通过单击“唤醒”将其唤醒。
不用担心–唤醒过程大约需要30秒,您的服务器将恢复到与之前完全相同的状态。
如果您的服务器关闭24小时
如果服务器保持关闭状态超过24小时,它将被终止。
但不要担心–我们将备份您的服务器配置并将其保存在存档中1个月。您需要通过单击“恢复”按钮来恢复它。
这个过程比正常的“唤醒”要长一些,可能需要几分钟。
您的服务器将被恢复,但它将是具有新IP和新URL的新服务器。
如果您的服务器关闭超过1个月–它的存档版本将被永久删除,您将无法恢复服务器
如何避免休眠服务器
为避免休眠服务器,请升级到付费计划。
这将支持Moralis开发人员,以便我们可以继续提供世界一流的开源web3工具,而不会在非活动服务器上浪费金钱
您可以通过单击此处进行升级。
如您所知,我们还在开发Moralis服务器的自托管版本。当它结束时,您将来可以在自己的服务器上托管您的服务器