标签: hashgraph

在 Hedera 区块链中创建智能合约时出现错误“Transaction Oversize”

我的 bin 文件大小只有 18kb。我还得到了使用 IPFS 的解决方案,但不知道如何使用它。如果有任何使用 IPFS 的参考,请分享给我。:

错误:PrecheckStatusError:事务 0.0.34898094@1653658245.135892060 预检查失败,状态为 TRANSACTION_OVERSIZE

这是我的代码:

const {
  AccountId,
  PrivateKey,
  Client,
  FileCreateTransaction,
  ContractCreateTransaction,
  ContractFunctionParameters,
  ContractExecuteTransaction,
  ContractCallQuery,
  Hbar
} = require("@hashgraph/sdk");
const fs = require("fs");

const operatorId = AccountId.fromString(process.env.OPERATOR_ID);
const operatorKey = PrivateKey.fromString(process.env.OPERATOR_PVKEY);
const client = Client.forTestnet().setOperator(operatorId, operatorKey);


async function main() {
  // Import the compiled contract bytecode
  const contractBytecode = fs.readFileSync("first_contract_sol_ABC_TOKEN.bin");
  // Create a file on Hedera and store the bytecode
  const fileCreateTx = new FileCreateTransaction().setContents(contractBytecode).setKeys([operatorKey]).setMaxTransactionFee(new Hbar(1))
    .freezeWith(client);
  const fileCreateSign = await fileCreateTx.sign(operatorKey); …
Run Code Online (Sandbox Code Playgroud)

node.js blockchain hashgraph hedera-hashgraph

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

如何仅调用一次 TokenMintTransaction 在 Hedera 上铸造多个 NFT?

我想铸造 100 个 NFT。我需要调用“TokenMintTransaction()”100 次吗?有没有办法在一次 API 调用中铸造 100 个 NFT?

这是我正在使用的代码:

let mintTx = new TokenMintTransaction().setTokenId(tokenId).setMetadata([Buffer.from(CID)]).freezeWith(client);
Run Code Online (Sandbox Code Playgroud)

我可以在 .setMetadata() 中传递什么来铸造多个 NFT?

hashgraph hedera-hashgraph

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

CONTRACT_REVERT_EXECUTED Hedera 智能合约

CONTRACT_REVERT_EXECUTED 不知道我做错了什么,但我正在尝试调用一个函数,它接受一个参数,我确保它是正确的,但它仍然会恢复。这是使用 HederaTokenService 的 hedera-hashgraph。

智能合约:

pragma solidity ^0.8.11;

import "./hip-206/HederaTokenService.sol";
import "./hip-206/HederaResponseCodes.sol";

contract Minting is HederaTokenService {

    address tokenAddress;
    bytes metadata;
    string baseURI = "abc";
    uint64 mintPrice;

function mintNonFungibleToken(uint64 _amount) external payable {
        bytes[] memory nftMetadatas = generateBytesArrayForHTS(
            baseURI,
            _amount
        );
        (
            int256 response,
            uint64 newTotalSupply,
        ) = HederaTokenService.mintToken(tokenAddress, _amount, metadata);

        if (response != HederaResponseCodes.SUCCESS) {
            revert("Mint Failed");
        }
    }

    // @dev Helper function which generates array of addresses required for HTSPrecompiled
    function generateAddressArrayForHTS(address _address, uint256 _items)
        internal
        pure …
Run Code Online (Sandbox Code Playgroud)

solidity hashgraph hedera-hashgraph

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