Skip to content

Instantly share code, notes, and snippets.

@kimagure44
Last active January 18, 2019 18:40
Show Gist options
  • Save kimagure44/b6a17a934dfc8f23539ef56edb9d1c02 to your computer and use it in GitHub Desktop.
Save kimagure44/b6a17a934dfc8f23539ef56edb9d1c02 to your computer and use it in GitHub Desktop.
pragma solidity ^0.4.0;
// ------- INICIO: Los contratos estan en el mismo documento
// Contrato que llamara a otro contrato
contract ContratoA {
// Variable que va ser del tipo contract
ContratoB llamarContrato = new ContratoB();
// consultar un número de contrato
function getNumeroContratoA() constant returns(uint) {
// Devuelve el número del contrato al que vamos a llamar
return llamarContrato.getNumeroContratoB();
}
}
contract ContratoB {
uint numero = 40;
// Funcion a la que llamamos
function getNumeroContratoB() constant returns(uint) {
return numero;
}
}
// ------- FIN: Los contratos estan en el mismo documento
// ------- INICIO: Simular la llamada a cualquier contrato
// Para que funcione vamos a crear primero el contratoD y asi poder añadir la dirección en el contrato C
contract ContratoC {
// Dentro del new ContratoD(Dirección del contrato);
address direccionContratoALlamar = 0x0f9d1a92533348818f6d0103d982e17f36335c54;
ContratoD callContract = ContratoD(direccionContratoALlamar);
// consultar un número de contrato
function getNumeroContratoC() constant returns(uint) {
// Devuelve el número del contrato al que vamos a llamar
return callContract.getNumeroContratoD();
}
}
// Dirección de este contrato: 0x0f9d1a92533348818f6d0103d982e17f36335c54
contract ContratoD {
uint numero = 400;
// Funcion a la que llamamos
function getNumeroContratoD() constant returns(uint) {
return numero;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment