Sé que hay muchas preguntas como esta, pero creo que esto es diferente.
Basado en esta pregunta , escribí esto
pragma solidity ^0.4.11;
contract Registry {
mapping(string => address) ID;
mapping(address => address) Contract;
function addID(string _id, address publicAddress) {
ID[_id] = publicAddress;
}
function addContract(address _owner) {
Contract[_owner] = msg.sender;
}
}
contract User {
// The GMC contract
address regAddress = 0xf70ce669d4fa2bdeae1c4c61021627fc4b1d463c;
address owner = msg.sender;
function addID(string _id){
// Get the GMC contract
Registry registry = Registry(regAddress);
registry.addID(_id, owner);
}
function addContract(address _owner) {
Registry registry = Registry(regAddress);
registry.addContract(owner);
}
}
Además, estoy 100% seguro de que el registro del contrato se ha extraído en la dirección 0xf70ce669d4fa2bdeae1c4c61021627fc4b1d463c
.
Pegar tal cual en Remix devuelve un error
This looks like an address but has invalid checksum
Siguiendo esta respuesta , intenté convertir la dirección a mayúsculas. que vuelve
TypeError: Invalid literal value
Una sugerencia en la pregunta es usar import. No estoy haciendo eso debido a otra pregunta (sin respuesta) que hice aquí (no puedo usar la importación cuando se implementa con NodeJS).
¡La ayuda sería muy apreciada!
uso address regAddress =0xF70ce669d4FA2BdEae1c4C61021627fC4b1d463C
y el error será descartado.
el truco es usar https://etherscan.io/ para devolverle la dirección con la suma de verificación.
mcansado