从 Solidity 中检索变量值

问题描述

pragma solidity ^0.5.16;

    uint public x;
    uint public y;

如何在我的 nodejs 文件中检索此值?

解决方法

我怀疑您正在尝试使用 node / javascript 从合约外部访问这些值 xy

你需要一些东西:

  1. 合同 ABI(通常是 .json 文件,.sol 文件的编译版本)
  2. Web3 能够与合约 ABI 交互

现在,一旦你说合约作为实例加载:

    const contract = require("@truffle/contract");
    let abi = contract(<ContractJSON>);
    abi.setProvider(window.web3.currentProvider);
    let contract = await abi.deployed();
    let valX = await contract.x();

以上内容不完全是编译等,仅供参考。