标签: blockchain

如何运行 MultiversX 节点(验证器)?

我想在我的机器上运行 MultiversX 验证器节点,但我不知道如何做,也不知道从哪里开始。你能帮我么?

blockchain multiversx

3
推荐指数
1
解决办法
497
查看次数

如何在web3中使用transactionHash从以太坊交易中读取信息?

假设我已将智能合约内的变量 x 更新为(x=10)。我存储了 transactionHash。然后我再次更改 x=20 的值,然后我将得到一个新的交易哈希。那么有没有什么方法可以使用之前更新的 transactionHash(x=10) 来查看 x 的值?

blockchain ethereum smartcontracts web3js

3
推荐指数
1
解决办法
2万
查看次数

获取上传到 IPFS 的文件夹内单个文件的 HASH

当我将文件文件夹上传.jpg到 IPFS 时,我会得到该文件夹​​的哈希值 - 这很酷。

但是该文件夹中的每个单独文件也会被散列吗?如果是这样,我如何获取每个文件的哈希值?

我基本上希望能够上传一大堆文件 - 比如 500 个图像 - 并一次性或以编程方式完成所有操作,并将每个文件的哈希值返回给我。

有办法做到这一点吗?

hash blockchain ethereum ipfs

3
推荐指数
1
解决办法
1975
查看次数

如何从 polkadot 公钥获取 polkadot 地址?波卡.js

我尝试了@polkadot/util-cryptolib@polkadot/keyring并将公钥转换为 polkadot 地址,但没有帮助。

有没有大神提供的方法polkadot.js

有关如何获取地址的步骤也很有效。

谢谢

cryptography blockchain substrate polkadot-js polkadot

3
推荐指数
1
解决办法
2898
查看次数

如何下载区块链交易数据?

我希望下载自区块链诞生以来发生的每笔交易。特别是,我想下载BSC的数据。

  • 我如何下载区块链数据?例如,有我可以使用的 API 或协议吗?
  • 下载迄今为止的数据后...我如何订阅新交易?

blockchain

3
推荐指数
1
解决办法
2086
查看次数

cleos on Wax 获取信息错误 [失败并出现错误:解析错误 (4)“错误”中出现意外的字符“101”]

  1. 当我 -> cleos 获取信息 | 它返回:{“server_version”:“a48fa1d9”,“chain_id”:“cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f”,“head_block_num”:85,“last_irreversible_block_num”:84,“last_irreversible_block_ id”:“000000542a41f5672077709d84ab2514867b3a19c215ffd79a0654841cce4c6d”,“head_block_id”:“0000005581138e1662b53fab496d1616103c21f4b322e132eeacc9 eb96b29740", "head_block_time “:“2021-05-10T15:39:59.000”,“head_block_ Producer”:“eosio”,“virtual_block_cpu_limit”:217493,“virtual_block_net_limit”:1140464,“block_cpu_limit”:200000,“block_net_limit”:1048576,“server_version_string” : “v2.0.5wax01”,“fork_db_head_block_num”:85,“fork_db_head_block_id”:“0000005581138e1662b53fab496d1616103c21f4b322e132eeacc9eb96b29740”,“server_full_version_string”:“v2.0.5wax 01-a48fa1d9fb676f3b41b6c2e7d1682067a5024630“}
  2. 当我 -> cleos -u https://testnet.waxsweden.org获取信息 | 它返回:{“server_version”:“b5344cde”,“chain_id”:“f16b1833c747c43682f4386fca9cbb327929334a762755ebec17f6f23c9b8a12”,“head_block_num”:89637852,“last_irreversible_block_num”:896第37524章ea3748ee7924be1ecfe0a009", "head_block_time ”:“2021-05-10T15:41:13.500”,“head_block_ Producer”:“eoseouldotio”,“virtual_block_cpu_limit”:200000000,“virtual_block_net_limit”:1048576000,“block_cpu_limit”:199900,“block_net_limit”:1048576 ,“服务器版本字符串”: “v2.0.12wax01”,“fork_db_head_block_num”:89637852,“fork_db_head_block_id”:“0557c3dc62b1d5377e30928fede5cab89b022a68ea3748ee7924be1ecfe0a009”,“server_full_version_string”:“v2.0 .12wax01-b5344cde06837726fef9e384fcedc207dcf6b160"}
  3. 但是当我 -> cleos -u https://chain.wax.io获取信息 | 它返回错误:错误2021-05-10T15:42:27.953 cleos main.cpp:4013 main]因错误而失败:解析错误(4)“错误”中出现意外的字符'101'

为什么?。有哪位兄弟帮帮我。请

blockchain

3
推荐指数
1
解决办法
1087
查看次数

web3.contract.functions.getAmount() 中的差异

我正在使用 Web3.py,但遇到了一些奇怪的事情。

对于以下代码(使用 Pancake Router V2):

from web3 import Web3
from web3.middleware import geth_poa_middleware

web3 = Web3(Web3.HTTPProvider('https://bsc-dataseed1.binance.org:443'))
web3.middleware_onion.inject(geth_poa_middleware, layer=0)

ABI = {"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsOut","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"}

CAKE_ROUTER_V2 = web3.toChecksumAddress('0x10ed43c718714eb63d5aa57b78b54704e256024e')
router_contract = web3.eth.contract(address=CAKE_ROUTER_V2, abi=ABI),

WBNB = web3.toChecksumAddress('0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c')
CAKE = web3.toChecksumAddress('0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82')
KONGSHIBA = web3.toChecksumAddress('0x126f5f2a88451d24544f79d11f869116351d46e1')

print(router_contract.functions.getAmountsOut(1, [WBNB, CAKE]).call())
print(router_contract.functions.getAmountsOut(1, [WBNB, KONGSHIBA]).call())
Run Code Online (Sandbox Code Playgroud)

我得到以下信息:

[1, 19]
[1, 160]
Run Code Online (Sandbox Code Playgroud)

WBNB 和 CAKE 有 18 位小数,KONGSHIBA 有 17 位
。CAKE 目前的价值约为 27.7 美元,WBNB 为 545.41291093 美元
,KONGSHIBA 为 0.00000000000000000332 美元。
所以我应该回来:

[1, 19]
[1, 16000000000000000000]
Run Code Online (Sandbox Code Playgroud)

请指教。

python blockchain smartcontracts web3js web3py

3
推荐指数
1
解决办法
5259
查看次数

Solidity:错误:请将数字作为字符串或 BN 对象传递,以避免精度错误

有一个简单的 Solidity 合约:

contract SellStuff{

    address seller;
    string name;
    string description;
    uint256 price;

    function sellStuff(string memory _name, string memory _description, uint256 _price) public{
        seller = msg.sender;
        name = _name;
        description = _description;
        price = _price;
    }
    function getStuff() public view returns (
        address _seller, 
        string memory _name, 
        string memory _description, 
        uint256 _price){
            return(seller, name, description, price);
    }
}
Run Code Online (Sandbox Code Playgroud)

并运行 javascript 测试,如下所示:

var SellStuff= artifacts.require("./SellStuff.sol");

// Testing
contract('SellStuff', function(accounts){

    var sellStuffInstance;
    var seller = accounts[1];
    var stuffName = "stuff 1";
    var …
Run Code Online (Sandbox Code Playgroud)

javascript blockchain ethereum solidity smartcontracts

3
推荐指数
2
解决办法
1万
查看次数

Chain Link VRF需要很长时间才能获得随机数

描述

获得随机数需要很长时间。执行 getRandomNumber 函数后,几分钟后我就可以与随机数进行交互。

基本上,我单击 getRandomNumber 并必须等待 2-3 分钟,直到随机数显示在 randomResult 变量中。

重现步骤

  1. 前往此处的文档:https ://docs.chain.link/docs/get-a-random-number/
  2. 向下滚动并单击“使用 Remix 部署此合约”(蓝色轮廓 btn)
  3. 单击看起来像 536123b61468ad4442cfc4278e8de577 的文件夹之一,然后单击 RandomNumberConsumer.sol
  4. 将 LINK 代币、VRF 协调器和密钥哈希替换为 rinke 独有的https://docs.chain.link/docs/vrf-contracts/
  5. 导航至 Solidity Compiler 选项卡并单击 Compile RandomNumber.sol。
  6. 在 Rinkeby 上部署合约
  7. 复制到合约地址并发送 LINK 代币为合约提供资金。
  8. 单击 remix 中的橙色 getRandomNumber btn
  9. 单击 randomResult 并观察 randomResult 中的值发生变化需要多长时间。(不断点击直到最终改变)

附加信息

我不确定这种行为是故意的还是我是否需要更改代码。理想情况下,我希望在 getRandomNumber 函数完成执行后获得 randomResult 的值。现在我不知道 randomResult 的值什么时候会出现。

blockchain ethereum solidity chainlink

3
推荐指数
1
解决办法
2504
查看次数

bsc 通过钱包地址获取交易 Web3.py

如何跟踪 bsc 网络中钱包列表的代币交易?

我考虑使用websocket和过滤功能。我认为可以使用作为topics过滤器参数的一部分,并仅反映发送Transfer至/来自监视地址的事件,以便我的应用程序不必处理不必要的数据。

但我做错了,不知道如何正确地将钱包列表(或至少只有一个钱包)作为我的过滤函数的参数。怎么做?

我在从Transfer事件获取数据时遇到问题,因为我不知道如何解码HexBytes类型。我看到了 web3.js 的功能,但没有看到 web3.py 的功能。

address_list = ['0x67fdE6D04a82689a59E5188f9B572CBeF53D4763', '...', '...']

web3 = Web3(Web3.WebsocketProvider('wss://bsc.getblock.io/mainnet/?api_key=your_api_key'))
web3_filter = web3.eth.filter({'topics': address_list}) 
while True:
    for event in web3_filter.get_new_entries():
        print(web3.toJSON(web3.eth.wait_for_transaction_receipt(event).logs))
Run Code Online (Sandbox Code Playgroud)

python blockchain smartcontracts web3py

3
推荐指数
1
解决办法
1万
查看次数