Cómo conectarse al contrato a través de javascript implementado usando truffle

He implementado un contrato usando truffle en la red testrpc. Necesito escribir un código Javascript que pueda conectarse al contrato y ejecutar las funciones del contrato, pero no sé cómo hacerlo.

Editar:

Ahora estoy usando truffle-contracty truffle-artifactorpara conectarme a contratos implementados. Aquí está el código del artefacto:

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();

El código no puede crear el archivo DINRegistry.sol.js. ¿Qué es incorrecto en este código?

Por favor, lea la pregunta actualizada.

Respuestas (1)

Teníamos este mismo requisito en uno de los proyectos en los que interactuamos con el contrato implementado de truffle desde JavaScript. Puede consultar este script como referencia: https://github.com/Imaginea/lms/blob/master/server/routes.js

Básicamente, estamos haciendo las siguientes cosas:

  • definir artefactos de trufa
  • definir proveedor web3 http, establecer proveedor
  • crear una instancia de contrato con la ayuda de la dirección implementada.

Espero que esto ayude.