Ich bin ein ziemlicher Anfänger und versuche, mich mit Remix-Übungsbauverträgen zurechtzufinden.
Ich möchte einen Mindestbetrag für den Gesamtkauf festlegen (Anzahl Tokens). Ich verwende " https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/crowdsale/Crowdsale.sol " als Ausgangspunkt.
Jetzt möchte ich ein festgelegtes Minimum verlangen, um einen Bonus wie zu erhalten
// from BokkyPooBah MyToken example:
if (now <= BonusAdded) {
tokens = msg.value * 4500;
} else {
tokens = msg.value * 3000;
}
Schätze jeden Rat
Überprüfen Sie, ob dies hilft
uint public minLimitToGetBonus = 1000 * (10 ** decimals)
function getToken() public {
if(balances[msg.sender] > minLimitToGetBonus){
// give bonus
}
else{
// process normally
}
}
Bearbeiten 1: Gemäß Diskussion in den Kommentaren:
contract BunusCoin{
uint minLimitToGetBonus = 1000;
bool InTime = true;
uint rate = 3000;
mapping(address => uint ) public balances;
function NoMoreHoops() public payable{
require(InTime);
uint tokensPurchasing = msg.value * rate ; // no of tokens purchasing
// if you want to consider prev balances as well. Uncomment below line
// totalTokens = balances[msg.sender].safeAdd(tokensPurchasing);
// else
uint totalTokens = tokensPurchasing ;
// check eligibility for Bonus
if(totalTokens > minLimitToGetBonus){
tokensPurchasing = tokensPurchasing .safeMul(1500).safeDiv(100); // 50% bonus
}
balances[msg.sender] = safeAdd(balances[msg.sender], tokensPurchasing);
_totalSupply = safeAdd(_totalSupply, tokensPurchasing);
Transfer(address(0), msg.sender, tokensPurchasing);
owner.transfer(msg.value);
}
}
function NoMoreHoops () public payable { require minLimitToGetBonus <= 1000; require InTime = true; uint tokens; if ( true) { tokens = msg.value * 4500; \\ +50% during first week if buying min 1000 } else { tokens = msg.value * 3000; \\ No Bonus sry } } balances[msg.sender] = safeAdd(balances[msg.sender], tokens); _totalSupply = safeAdd(_totalSupply, tokens); Transfer(address(0), msg.sender, tokens); owner.transfer(msg.value);
if (true)
. Der Code führt diese Bedingung immer aus und wechselt nie zu einer anderen. Überprüfen Sie die Bearbeitung in der Antwort.
Prashant Prabhakar Singh
Trac3y
Prashant Prabhakar Singh
Trac3y
Trac3y