¿Cómo paso de truffle testrpc a mainnet?

Me he estado enseñando a mí mismo ethereum a través de la pila solidity/truffle/truffle-contract/testrpc/metamask. Creé una pequeña dApp que se ejecuta en testrpc con pruebas unitarias adecuadas que funcionan muy bien. He escrito una función que truffle servecarga mi contrato llamado VEX desde el archivo localf_deployed_contract

$.getJSON(f_deployed_contract, function(data) {
    App.contracts.VEX = TruffleContract(data);
    App.contracts.VEX.setProvider(App.web3Provider);
});

¡Todo funciona! Estaba emocionado, así que implementé el contrato del código de solidez funcional usando una combinación de Remix y Ether Wallet en la red principal. Fue minado y ahora vive aquí:

https://etherscan.io/tx/0xe5e6c5d463815e339a2aac2e92594de595e2029e6448997799871d8cb2a5728b

Ahora, ¿cómo ajusto mi TruffleContractpara poder usar mi dApp con metamask en la red principal?

Respuestas (1)

Usando TruffleContract, puede simplemente especificar la dirección de su contrato cuando intente interactuar con él. De la documentación:

var MetaCoin = require("./path/to/MetaCoin.sol.js");
MetaCoin.at(contract_address).then(function(instance) {
   //do promise things
} 

Entonces, en lugar de usar Metacoin.deployed(), que probablemente esté usando, podría usar .at(address).

Además, su contrato vive en 0x4f5a4501f96cb95eeda376f4caa0b24f4dbbd796, no en 0xe5e6c5d463815e339a2aac2e92594de595e2029e6448997799871d8cb2a5728b. El segundo es la transacción que creó su contrato, el primero es la dirección de su contrato.

Eso tiene sentido. Entonces, si implemento varias copias del mismo contrato (el mismo código de bytes pero en diferentes lugares), ¿puedo simplemente llamar a los diferentes contratos usando .at(address)para cada uno?
eso seria correcto