一、環境安裝:
1、安裝web3工程:npm install web3
2、安裝solc工程:npm install solc
二、在node環境中使用
先引用所需環境:
var fs = require ('fs');
var solc = require ('solc');
var solc = require ('web3');
//注:eth_token.sol 是在node工程中已經寫好的要發布的智能合約。
//加載需要發的智能合約,我這里用ERC20標准合約測試。代碼看之前的博客
var sourceToken = fs.readFileSync(rootDir+"/public/solidity/eth_token.sol","utf8");
//編譯合約源碼
var cacl=solc.compile(sourceToken,1);
var bytecode=cacl.contracts[':TokenERC20'].bytecode;
//發布合約所需的大致費用
var price = 90000000000;
var limit = 60000;
//查詢錢包地址的nonce
web3.eth.getTransactionCount("填寫錢包地址",function (error,result) {
//封裝交易
var rawTx = {
nonce: result,
gasPrice: web3.toHex(price),
gasLimit: web3.toHex(limit),
from:"填寫錢包地址",
data: "0x"+bytecode,
}
//私鑰簽名交易
var pk = new Buffer("填寫錢包地址的私鑰", 'hex')
var tx = new Tx(rawTx);
tx.sign(pk);
var serializedTx = tx.serialize();
//廣播簽名的交易
web3.eth.sendRawTransaction('0x' + serializedTx.toString('hex'), function (err, hash) {
if (!err) {
// 發行成功 用返回的 hash 值去區塊鏈上查詢 成功狀態
}else{
}
})
})
---------------------
作者:IT_浩哥
來源:CSDN
原文:https://blog.csdn.net/qq_16137795/article/details/82988486?utm_source=copy
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!