小编sel*_*sel的帖子

将 BN 转换为数字

在松露控制台中我正在执行以下语句,

result = token.balanceOf(accounts[1])
Run Code Online (Sandbox Code Playgroud)

该语句返回以下输出。

<BN: 8ac7230489e80000>
Run Code Online (Sandbox Code Playgroud)

正如这里所建议的,我正在尝试使用toNumber()and toString。但我收到以下错误。

result = token.balanceOf(accounts[1])
result.toString()
output: '[object Promise]'
result.toNumber()
TypeError: result.toNumber is not a function
Run Code Online (Sandbox Code Playgroud)

javascript truffle web3js

4
推荐指数
1
解决办法
9308
查看次数

如何在solidity中将字节转换为uint256

我正在尝试将 bytes 转换为 Solidity 的 uint256 。这是坚固性代码,

// SPDX-License-Identifier: MIT
pragma solidity 0.8.13;

contract Sample {

    function getValue(bytes memory a) external pure returns(uint256 value) {
        assembly {
            value := mload(add(a, 0x20))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

ganache-cli然后我部署了我尝试在松露控制台中调用的代码getValue,如下所示:

(await contract.getValue(web3.utils.hexToBytes('0xa'))).toString()
Run Code Online (Sandbox Code Playgroud)

我预计值 10 将返回。但我收到以下错误,

Thrown:
TypeError: param.substring is not a function
    at evalmachine.<anonymous>:1:19
    at evalmachine.<anonymous>:2:49
    at sigintHandlersWrap (vm.js:269:15)
    at Script.runInContext (vm.js:124:14)
    at runScript (/Users/xyz/.nvm/versions/node/v12.14.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/console.js:366:1)
    at Console.interpret (/Users/xyz/.nvm/versions/node/v12.14.0/lib/node_modules/truffle/build/webpack:/packages/core/lib/console.js:381:1)
    at bound (domain.js:419:14)
    at REPLServer.runBound [as eval] (domain.js:432:12)
    at REPLServer.onLine (repl.js:715:10)
    at REPLServer.emit (events.js:210:5) …
Run Code Online (Sandbox Code Playgroud)

solidity truffle web3js

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

如何在不使用设置 msg.value 的情况下将资金从 msg.sender(amount) 转移到收件人地址

我们可以将资金从地址(此)转移到收件人。但是有没有什么方法可以将资金直接从 msg.sender 钱包转移到收件人呢?我无法在调用 payoutBonus 调用时设置 msg.value。因为我只能在 payoutBonus 方法中获得金额。

function payoutBonus(address recipient) public payable returns (bool) {
    // bonus = calculateBonus();
    //transfer this bonus to recipient from msg.sender;
    return true;
}
Run Code Online (Sandbox Code Playgroud)

ethereum solidity

0
推荐指数
1
解决办法
7531
查看次数

标签 统计

solidity ×2

truffle ×2

web3js ×2

ethereum ×1

javascript ×1