pragma solidity ^0.4.17;
// I want to write a code for loyalty points when user pays
contract GiveRefreceId {
mapping(address => uint256) public referenceid;
address[] public clients;
uint256 idcounter;
struct MlMMembership_Payment{
string CompanyName;
uint256 DistributorId;
uint256 RefrenceDistributorId;
uint256 Amount;
}
MlMMembership_Payment[] MlMember;
event createdId(address user, uint256 id);
function giveRefrenceId() public returns (uint256) {
require(referenceid[msg.sender]==0);
idcounter += 1;
clients.push(msg.sender);
referenceid[msg.sender] = idcounter;
emit createdId(msg.sender,idcounter);
// return createdId[1]
return idcounter;
}
function MLMloyalityPoints(string _Compney_name,uint256 _refreeid) public payable {
uint256 temprefreeid = _refreeid-1;
var tempaddress = clients[temprefreeid];
//return tempaddress;
tempaddress.transfer(1000000000000000);
}
}
1) Я написал код в солидных клиентах типа, array
который хранит адрес
2) Теперь моя функция MLMloyalityPoints
получит идентификатор, и я передам идентификатор моему массиву clents[]
3) Я ожидаю, что он даст адрес с индексом 0
4) Теперь я хочу передать значение на этот адрес, используя метод передачи. Я получаю сообщение об ошибке при вводе
5) Любые предложения в коде, я думаю, что что-то не так в методе передачи (), который я перепроверил на многие документы, они говорят, что разница между отправкой и передачей
Все транзакции в вэй.
Это сработает. Наиболее вероятной причиной ошибки является то, что в вашем контракте недостаточно эфира.
mapping(uint256 => bool) public paid;
function MLMloyalityPoints(string _Compney_name,uint256 _refreeid) public payable {
require(!payed[_refreeid]);
address tempaddress = clients[_refreeid-1];
//return tempaddress;
tempaddress.transfer(1000000000000000);
paid[_refreeid] = true;
}
paid indicates if the user with the reference id
_refreeid` уже забрал эфир.
Надеюсь это поможет
giveRefrenceId
должна быть какая-то проверка, потому что, как я уже сказал, любой может получить referenceId
Хайме
Хайме
МД Венкатеш
МД Венкатеш
Хайме
Хайме
МД Венкатеш