Ich habe einen Vertrag mit Truffle im testrpc-Netzwerk bereitgestellt. Ich muss einen Javascript-Code schreiben, der eine Verbindung zum Vertrag herstellen und die Funktionen des Vertrags ausführen kann, aber ich kann nicht herausfinden, wie das geht.
Bearbeiten:
Ich verwende jetzt truffle-contract
und truffle-artifactor
um eine Verbindung zu bereitgestellten Verträgen herzustellen. Hier ist der Artefaktcode:
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();
Der Code kann die Datei nicht erstellen DINRegistry.sol.js
. Was ist an diesem Code falsch?
Dieselbe Anforderung hatten wir in einem der Projekte, in denen wir mit dem Truffle Deployed Contract von JavaScript interagierten. Sie können dieses Skript als Referenz überprüfen - https://github.com/Imaginea/lms/blob/master/server/routes.js
Grundsätzlich machen wir folgende Dinge -
Hoffe das hilft.
lee huang