So stellen Sie eine Verbindung zum Vertrag über Javascript her, das mit Truffle bereitgestellt wird

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-contractund truffle-artifactorum 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?

Bitte lesen Sie die aktualisierte Frage.

Antworten (1)

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 -

  • Trüffelartefakte definieren
  • Web3-http-Anbieter definieren, Anbieter festlegen
  • Vertragsinstanz mit Hilfe der bereitgestellten Adresse erstellen.

Hoffe das hilft.