var bytecode = "0x608060405234801561001057600080fd5b5061014f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806360fe47b1146100465780636d4ce63c14610064575b600080fd5b61004e610088565b60405161005b91906100d6565b60405180910390f35b61007e6004803603810190610079919061011d565b610091565b60405161008b91906100d6565b60405180910390f35b60008054905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816000815181106100cc57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050905050919050565b60008160008151811061011857fe5b6020026020010151905091905056fe"; // 这里替换为你的实际字节码,注意0x前缀
将Storage.abi复制到一个变量中:
var abi = [{"inputs":[],"name":"get","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"}],"name":"set","outputs":[],"stateMutability":"nonpayable","type":"function"}]; // 这里替换为你的实际ABI
创建合约对象并部署:
var contract = web3.eth.contract(abi);
var deployTx = {
from: "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", // 部署者地址
data: bytecode,
gas: 2000000 // 指定gas限制,根据合约复杂度调整
};
var contractInstance = new contract(deployTx);
contractInstance.new(100, { // new(100) 是构造函数参数,如果Storage合约有构造函数需要参数的话,这里Storage没有,所以可以省略,但为了示例