如果您开始收到 Cloudflare 错误,例如 Cloudflare 错误 1020 - 很可能您被我们的滥用预防系统标记,并且 Cloudflare 代表我们阻止了您的访问。

创新互联是一家集网站建设,阳西企业网站建设,阳西品牌网站建设,网站定制,阳西网站建设报价,网络营销,网络优化,阳西网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
您可能还会看到其他错误消息。
以下是您被暂时禁止的几种情况。
所有 Moralis 计划对您每月可以提出的请求数量都有很大的限制。 您有多少包含的请求取决于您拥有的计划,请查看定价页面了解更多详细信息。
在大多数情况下,对 Speedy Nodes 或 Web3 API 的一次请求计为对您的每月配额或允许的速率限制的一次请求。
但是,一些 Speedy Node 方法和 API 请求的计算量非常大,因此算作多个请求。
通过给予一些繁重的要求更高的权重,我们确保您只为使用的东西付费,而不是多花一分钱 - 期间! 通过这种方式,您可以获得大多数用例的廉价请求,同时我们可以通过权衡计算成本高昂的端点来保护我们的系统免受滥用。
有关加权的 Speedy Node 方法和 API 端点的详细信息,请参阅下表。
Moralis Speedy 节点的请求限制为每批 50 个请求。
Method  | Cost  | 
eth_maxPriorityFeePerGas  | 1 request  | 
eth_getTransactionReceipt  | 2 requests  | 
eth_getUncleByBlockHashAndIndex  | 2 requests  | 
eth_getUncleByBlockNumberAndIndex  | 2 requests  | 
eth_getTransactionByBlockHashAndIndex  | 2 requests  | 
eth_getTransactionByBlockNumberAndIndex  | 2 requests  | 
eth_getUncleCountByBlockHash  | 2 requests  | 
eth_getUncleCountByBlockNumber  | 2 requests  | 
web3_clientVersion  | 2 requests  | 
web3_sha3  | 2 requests  | 
eth_getBlockByNumber  | 2 requests  | 
eth_getStorageAt  | 2 requests  | 
eth_getTransactionByHash  | 2 requests  | 
trace_get  | 2 requests  | 
eth_gasPrice  | 2 requests  | 
eth_getBalance  | 2 requests  | 
eth_getCode  | 2 requests  | 
eth_getFilterChanges  | 2 requests  | 
eth_newBlockFilter  | 2 requests  | 
eth_newFilter  | 2 requests  | 
eth_newPendingTransactionFilter  | 2 requests  | 
eth_getBlockTransactionCountByHash  | 2 requests  | 
eth_getBlockTransactionCountByNumber  | 2 requests  | 
eth_getProof  | 2 requests  | 
eth_getBlockByHash  | 2 requests  | 
trace_block  | 3 requests  | 
parity_getBlockReceipts  | 3 requests  | 
eth_getTransactionCount  | 3 requests  | 
eth_call  | 3 requests  | 
trace_transaction  | 3 requests  | 
eth_getFilterLogs  | 8 requests  | 
eth_getLogs  | 8 requests  | 
trace_call  | 8 requests  | 
trace_callMany  | 8 requests  | 
trace_rawTransaction  | 8 requests  | 
trace_filter  | 8 requests  | 
eth_estimateGas  | 9 requests  | 
eth_sendRawTransaction  | 25 requests  | 
debug_traceTransaction  | 31 requests  | 
trace_replayTransaction  | 298 requests  | 
trace_replayBlockTransactions  | 298 requests  | 
Path  | Weight  | 
/info/endpointWeights  | 0 request  | 
/{address}  | 1 request  | 
/{address}/balance  | 1 request  | 
/erc20/metadata  | 1 request  | 
/erc20/metadata/symbols  | 1 request  | 
/erc20/{address}/allowance  | 1 request  | 
/resolve/{domain}  | 1 request  | 
/{pair_address}/reserves  | 1 request  | 
/resolve/{address}/reverse  | 1 request  | 
/web3/version  | 1 request  | 
/{address}/events  | 2 requests  | 
/{address}/erc20/transfers  | 2 requests  | 
/erc20/{address}/transfers  | 2 requests  | 
/block/{block_number_or_hash}/nft/transfers  | 2 requests  | 
/nft/{address}/{token_id}  | 2 requests  | 
/nft/{address}/{token_id}/transfers  | 2 requests  | 
/{address}/logs  | 2 requests  | 
/{address}/function  | 2 requests  | 
/{address}  | 2 requests  | 
/erc20/{address}/price  | 3 requests  | 
/nft/{address}/trades  | 4 requests  | 
/nft/{address}/lowestprice  | 4 requests  | 
/{address}/erc20  | 5 requests  | 
/block/{block_number_or_hash}  | 5 requests  | 
/nft/search  | 5 requests  | 
/{address}/nft  | 5 requests  | 
/{address}/nft/transfers  | 5 requests  | 
/{address}/nft/{token_address}  | 5 requests  | 
/nft/{address}  | 5 requests  | 
/nft/{address}/transfers  | 5 requests  | 
/nft/{address}/owners  | 5 requests  | 
/nft/{address}/metadata  | 5 requests  | 
/nft/{address}/sync  | 5 requests  | 
/nft/{address}/{token_id}/metadata/resync  | 5 requests  | 
/nft/transfers  | 5 requests  | 
/nft/{address}/{token_id}/owners  | 20 requests  | 
注意:对于确切的速率限制值,可以使用端点 https://deep-index.moralis.io/api/v2/info/endpointWeights。
注意:/nft/{address}/{token_id}/metadata/resync 的计费成本为 5,速率限制成本为 25,这意味着您可以使用免费套餐每秒调用一次,使用免费套餐每秒只能调用两次 专业计划
输出示例:
[
  {
    "endpoint": "getBlock",
    "path": "/block/{block_number_or_hash}",
    "price": 1
  },
  {
    "endpoint": "getContractEvents",
    "path": "/{address}/events",
    "price": 2
  },
  {
    "endpoint": "getTransactions",
    "path": "/{address}",
    "price": 1
  },
 ...
  {
    "endpoint": "endpointWeights",
    "path": "/info/endpointWeights",
    "price": 0
  }
]
您需要了解两种不同类型的速率限制。
第一种速率限制是保护您的 Moralis 服务器免受来自客户端的垃圾邮件请求。
如您所知 - 任何人都可以使用 Moralis SDK 并使用您的服务器调用 Web3 API。
您的服务器具有内置的速率限制,您可以对其进行调整,以指示不同类型的用户在受到速率限制之前可以执行多少请求。 您可以完全控制这些速率限制,并且可以使用 Cloud Code 中的几行代码对其进行调整。
如果您的客户超出您设置的允许速率限制,他们将看到以下错误:
这可以使用 Moralis.settings.setAPIRateLimit 进行调整。
何时可能发生此错误:
想象一下使用您的网站的特定用户试图在同一分钟内发出大量请求。 您的服务器将保护自己并拒绝用户。 只有特定用户会受到影响。
解决此错误的方法是调整您的设置,如上所述。
当您的用户从 SDK 调用 Web3 API 时,他们可能不受您的服务器的速率限制(上述情况),但由于您的计划,他们可能会受到速率限制。
何时可能发生此错误:
您有许多用户并没有单独提出太多请求,但他们共同提出的请求超出了您的计划允许的范围。 例如 - 您的计划允许每分钟 1000 个请求。 您有 100 个用户每分钟执行 15 个请求。
解决此错误的方法是升级您的 Moralis 计划。
当您从自己的非 Moralis 后端调用 Web3 API 时,您可能会受到 Web3 API 的限制。
在这种情况下,您将收到错误 429:超出速率限制。
要查看的最重要的值是 x-rate-limit-limit 和 x-rate-limit-throttle-limit。
第一个告诉您每分钟允许执行多少个请求,第二个告诉您每秒可以执行多少个请求。
一些繁重的请求算作多个请求。
为了不受到速率限制,请注意 x-rate-limit-used 和 x-rate-throttle-used。
解决此错误的方法是升级您的 Moralis 计划。
const Moralis = require("moralis/node");
const serverUrl = "https://server_domain:2053/server";
const appId = "app id";
const contractAddress = "contract address";
async function getAllOwners() {
  await Moralis.start({ serverUrl: serverUrl, appId: appId });
  let cursor = null;
  let owners = {};
  do {
    const response = await Moralis.Web3API.token.getNFTOwners({
      address: contractAddress,
      chain: "eth",
      limit: 500,
      cursor: cursor,
    });
    console.log(
      `Got page ${response.page} of ${Math.ceil(
        response.total / response.page_size
      )}, ${response.total} total`
    );
    for (const owner of response.result) {
      owners[owner.owner_of] = {
        amount: owner.amount,
        owner: owner.owner_of,
        tokenId: owner.token_id,
        tokenAddress: owner.token_address,
      };
    }
    cursor = response.cursor;
  } while (cursor != "" && cursor != null);
  console.log("owners:", owners, "total owners:", Object.keys(owners).length);
}
getAllOwners();
import requests
import time
def get_nft_owners(offset, cursor):
    print("offset", offset)
    url = 'https://deep-index.moralis.io/api/v2/nft//owners?chain=polygon&format=decimal'
    if cursor:
      url = url + "&cursor=%s" % cursor
    print("api_url", url)
    headers = {
        "Content-Type": "application/json",
        "X-API-Key": "API_KEY_HERE"
    }
    statusResponse = requests.request("GET", url, headers=headers)
    data = statusResponse.json()
    print("HTTP headers:", statusResponse.headers)
    try:
        print("nr results", len(data['result']))
    except:
        print(repr(data))
        print("exiting")
        raise SystemExit
    cursor = data['cursor']
    print(data['page'], data['total'])
    return cursor
cursor = None
for j in range(0, 10):
    cursor = get_nft_owners(j*500, cursor)
    print()
    time.sleep(1.1)             
                文章名称:创新互联Moralis教程:Moralis计费和费率限制
                
                文章来源:http://www.csdahua.cn/qtweb/news34/295434.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网