Я знаю, что таких вопросов много, но я считаю, что это другое.
Основываясь на этом вопросе , я написал это
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);
}
}
Также я на 100% уверен, что Реестр контрактов был заминирован по адресу 0xf70ce669d4fa2bdeae1c4c61021627fc4b1d463c
.
Вставка как есть в Remix возвращает ошибку
This looks like an address but has invalid checksum
После этого ответа я попытался преобразовать адрес в верхний регистр. Это возвращает
TypeError: Invalid literal value
Одно предложение в вопросе - использовать import. Я не делаю этого из-за другого (без ответа) вопроса, который я задал здесь (не могу использовать импорт при развертывании с помощью NodeJS).
Помощь будет высоко оценена!
используйте address regAddress =0xF70ce669d4FA2BdEae1c4C61021627fC4b1d463C
, и ошибка будет уволена.
хитрость заключается в том, чтобы использовать https://etherscan.io/ , чтобы вернуть вам адрес с контрольной суммой.
макансадо