Ganache selecionado para ambiente de teste
npm install ganache-cli
Certifique-se de que web3 e solcjs foram instalados no ambiente
Consulte a postagem do blog para a instalação do web3 e solc.
1. No nó, use solc para compilar contratos inteligentes
1. Instancie o objeto web3
var web = require('we3')
var web3 = new web(new web.providers.HttpProvider("HTTP://LOCALHOST:8545"))
2. Introduzir solc
var solc = require('solc')
3. Use o sistema de arquivos do nó para ler contratos inteligentes de forma síncrona
var sourceCode = fs.readFileSync('Voting.sol').toString()
Nota: O contrato inteligente aqui toma Voting.sol como exemplo. O contrato inteligente precisa ser armazenado no mesmo diretório do nó que está aberto neste momento.
4. Use solc para compilar o contrato inteligente (o resultado final compilado é um objeto js)
var compiledCode = solc.compile(sourceCode)
Um erro pode ser relatado neste momento. Para soluções, consulte a postagem do blog a seguir. No ambiente de nó, usando solc para compilar relatórios de contratos inteligentes, blog de erros_m0_47233175 - blog CSDN https://blog.csdn.net/m0_47233175/article /detalhes/121999193
2. Implante contratos inteligentes
1. Retire abi e bin em compiladoCode (converta abi para o formato JSON)
var abi = JSON.parse(compiledCode.contracts[':Voting'].interface)
var bin = compiledCode.contracts[':Voting'].bytecode
2. Crie um objeto de contrato
var VotingContract = web3.eth.contract(abi)
3. Crie objetos de transação para contratos de implantação
var depolyTxObj = {data:bin,from:web3.eth.accounts[0],gas:30000}
4. Crie uma transação que implemente o contrato
var contractInstance = VotingContract.new([parameter],depolyTxObj)
Obs.: O parâmetro é preenchido com os parâmetros exigidos pela construtora no contrato implantado.
Os seguintes erros podem ocorrer
Tente alterar o valor do gás na etapa 7. O teste do blogueiro foi alterado para 600.000 e aprovado.