He escrito un contrato Transfer
y las funciones definidas en el contrato Transfer
se usan en otro contrato SecondTransfer
. He definido un constructor en el contrato Transfer
e inicializado valores en ese constructor.
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);
}
}
He intentado ejecutar este contrato utilizando la solidez del navegador. He pasado la dirección del contrato Transfer
como parámetro del contrato Second Transfer
. Pero la función getBalanceCall
devuelve un error VMException.
Por favor, ayúdame a corregir los problemas. ¿ Hay algún problema con respecto a la inicialización del constructor en el contrato Transfer
?
También estoy tratando de crear una DApp usando Truffle con este contrato. En este caso, ¿cómo puedo pasar la dirección del Transfer
contrato como parámetro para SecondTransfer
contratar?
crissi mariam robert
q9f
crissi mariam robert
crissi mariam robert