【问题标题】:Web3 + Solidity: Passing in arguments to a contract's constructorWeb3 + Solidity:将参数传递给合约的构造函数
【发布时间】:2018-09-16 16:47:10
【问题描述】:

我正在尝试为我正在编写的智能合约编写一些单元测试,但是在弄清楚如何在创建时将参数传递给我的合约的构造函数时遇到了困难。以下是我的代码:

const assert = require('assert');
const ganache = require('ganache-cli');
const provider = ganache.provider();
const Web3 = require('web3');
const web3 = new Web3(provider);
const { interface, bytecode } = require('../ethereum/compile');

let token;
let accounts;

beforeEach(async () => {
  accounts = await web3.eth.getAccounts();
  token = await new web3.eth.Contract(JSON.parse(interface))
    .deploy({ data: bytecode })
    .send({ from: accounts[0], gas: '1000000' });
  token.setProvider(provider);
});

describe('Token Contract', () => { ... });

基于此设置,我如何将参数传递给合约?我通过学习稳固性课程达到了这一点,但是课程中的合同没有任何关于它的构造函数的选项,所以它从来没有涵盖他们应该去哪里。感谢您的帮助!

【问题讨论】:

    标签: node.js solidity web3js


    【解决方案1】:

    好吧,我自己想通了:为传递给deploy 函数的对象添加一个属性作为参数数组。

    .deploy({ data: bytecode, arguments: [ ... ] })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-17
      • 2018-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      相关资源
      最近更新 更多