Я написал контракт, Transfer
и функции, определенные в контракте, Transfer
используются в другом контракте SecondTransfer
. Я определил конструктор в контракте Transfer
и инициализировал значения в этом конструкторе.
pragma solidity ^0.4.2;
contract Transfer {
address public userA;
address public user;
mapping (address => uint) balances;
uint value2;
// constructor
function Transfer() {
userA=msg.sender;
balances[userA]=1000;
}
function sendEther(address user,uint value)returns (bool success){
if(balances[userA]< value){
return false;
}
else {
balances[userA] -= value;
balances[user] += value;
return true;
}
}
function sendAddressToAddress(address fromuser,address touser)returns (bool success){
uint value=balances[fromuser];
if(value < 0){
return false;
}
else {
balances[fromuser] -= value;
balances[touser] += value;
return true;
}
}
function getBalance(address user) returns (uint _balance){
return balances[user];
}
}
contract SecondTransfer {
function sendEtherCall(address contractaddr,address user,uint value) returns (bool success) {
Transfer transfer=Transfer(contractaddr);
return transfer.sendEther(user,value);
}
function sendAddressToAddressCall(address contractaddr,address fromuser,address touser) returns (bool success) {
Transfer transfer=Transfer(contractaddr);
return transfer.sendAddressToAddress(fromuser,touser);
}
function getBalanceCall(address contractaddr,address user) returns (uint _balance) {
Transfer transfer=Transfer(contractaddr);
return transfer.getBalance(user);
}
}
Я попытался запустить этот контракт с помощью браузера-солидности. Я передал адрес контракта Transfer
в качестве параметра контракту Second Transfer
. Но функция getBalanceCall
возвращает ошибку VMException.
Пожалуйста, помогите мне исправить проблемы. Есть ли проблемы с инициализацией конструктора в контракте Transfer
?
Я также пытаюсь создать DApp, используя Truffle с этим контрактом. В этом случае, как я могу передать адрес Transfer
контракта в качестве параметра для SecondTransfer
контракта?
Крисси Мариам Роберт
q9f
Крисси Мариам Роберт
Крисси Мариам Роберт