我在testrpc网络上部署了一份使用松露的合同。我需要编写一个Javascript代码,它可以连接到契约并运行契约的函数,但是我想不出如何做到这一点。
编辑:
我现在使用truffle-contract和truffle-artifactor来连接到已部署的合同。以下是手工代码:
var Web3 = require('web3');
var fs = require("fs");
var Artifactor = require("truffle-artifactor");
var provider = new Web3.providers.HttpProvider("http://localhost:8545");
var contract = require("truffle-contract");
var temp = require("temp").track();
var path = require("path");
var requireNoCache = require("require-nocache")(module);
var abiVal = JSON.parse(fs.readFileSync('./build/contracts/DINRegistry.json'))
var contractData = {
contract_name: "DINRegistry",
abi: abiVal
}
var dirPath = temp.mkdirSync({
dir: path.resolve("./"),
});
var my_path = '/home/lee/Music/DIN-master';
var expected_filepath = path.join(my_path, '/build/contracts/DINRegistry.json')
function artifactCreator() {
const artifactor = new Artifactor(my_path);
artifactor.save({
contract_name: "DINRegistry",
abi: abiVal
}, "./DINRegistry.sol.js")
}
artifactCreator();代码无法创建文件DINRegistry.sol.js。这段代码中有什么不正确?
发布于 2017-08-23 11:37:28
在其中一个项目中,我们有同样的要求,在其中一个项目中,我们与JavaScript部署的松露合同进行交互。您可以检查此脚本以供参考- https://github.com/Imaginea/lms/blob/master/server/routes.js
基本上,我们是在做以下事情-
希望这能有所帮助。
https://ethereum.stackexchange.com/questions/24880
复制相似问题