Cryptocurrency is een nieuwe manier om waarde uit te wisselen, gebruikers te belonen en te betalen voor aankopen. Het wordt vaak beschouwd als de digitale versie van geld op het internet. Volgens Wikipedia is cryptocurrency een verhandelbaar digitaal activum of digitale vorm van geld dat is gebouwd op blockchain-technologie en alleen online bestaat. Dit artikel zal u helpen uw eigen cryptocurrency te maken en te implementeren op de Rinkeby Testnet-blockchain, die overdraagbaar is naar andere crypto-wallet-adressen.
Vereisten
Voordat u doorgaat met deze handleiding, moet u:
– Metamask geïnstalleerd hebben;
– Basiskennis hebben van de Remix IDE;
– een basiskennis hebben van het Solidity slimme contract dat u hier kunt vinden.
Waarom zou u uw eigen cryptocurrency willen maken?
– Testdoel tijdens dApp-ontwikkeling;
– Uw gebruikers belonen;
– Lidmaatschap munt;
– Valuta in het spel;
– Leuke valuta die eigendom is van u en uw vrienden.
In deze handleiding maken we een leuke cryptocurrency waarmee we onze vrienden kunnen belonen voor het voltooien van taken of het winnen van weddenschappen.
Stap 1 – Schrijven van het slimme contract
De eerste stap is het schrijven van een slim contract dat onze cryptocurrency-functionaliteiten zal afhandelen. U kunt uw cryptocurrency een naam geven die u maar wilt, maar voor deze handleiding geven we onze cryptocurrency de naam “UncleBigBay and Friends-token” met het symbool “UBBFT”. Start de Remix IDE door hier te klikken. In de contracts map, maakt u een nieuw .sol bestand met de naam van uw valuta, bijvoorbeeld UncleBigBay_and_Friends_Token.sol. Kopieer en plak het volgende slimme contract in uw .sol bestand:
pragma solidity ^0.8.13;
contract UncleBigBay_and_Friends_Token {
mapping (address => uint) public balances;
mapping (address => mapping (address => uint)) public allowance;
string public name = “UncleBigBay and Friends Token”;
string public symbol = “UBBFT”;
uint public decimals = 18;
uint public tokensIActuallyWant = 9000000;
uint public totalTokenSupply = tokensIActuallyWant * 10 ** decimals;
constructor(){
balances(msg.sender) = totalTokenSupply;
}
function balanceOf(address owner) public view returns (uint){
return balances(owner);
}
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
function transfer(address to, uint value) public returns(bool){
require (balanceOf(msg.sender) >= value, ‘Your balance is too low’);
balances(to) = balances(to) + value;
balances(msg.sender) = balances(msg.sender) – value;
emit Transfer(msg.sender, to, value);
return true;
}
function transferFrom(address from, address to, uint value) public returns(bool){
require(balanceOf(from) >= value, ‘Your balance is too low’);
require(allowance(from)(msg.sender) >= value, ‘You can not spend up to this amount’);
balances(to) += value;
balances(from) -= value;
emit Transfer(from, to, value);
return true;
}
function approve(address spender, uint value) public returns(bool){
allowance(msg.sender)(spender) = value;
emit Approval(msg.sender, spender, value);
return true;
}
}
In ons hierboven beschreven slimme contract creëren we een totale voorraad van 9 miljoen UBBFT-tokens met de volgende functies: de transfer() functie stelt onze tokenhouders in staat om van hun portemonnee over te stappen naar andere portemonnee-adressen. De transferFrom() functie maakt goedkeuring van tokentransacties mogelijk, met behulp van het vergoedingsmechanisme, zodat de uitgever niet meer uitgeeft dan zijn tokenlimieten. Het stelt onze tokenhouders ook in staat om tokens namens ons uit te geven, voor een gasvergoeding of transactiebevestiging op de blockchain. De approve() functie autoriseert de transferFrom() transactie als de spender zijn limiet niet heeft bereikt. De overdracht van tokens tussen portefeuilleadressen staat bekend als de Transfer evenement, terwijl de autorisatie van tokentransacties bekend staat als de Approval evenement.
Stap 2 – Het slimme contract samenstellen
In deze stap gaan we ons token slimme contract compileren met behulp van de Remix IDE-compiler. Sla uw bronbestand op met ctrl + s. Navigeer naar het tabblad “Solidity Compiler” en selecteer de “Compiler”-versie van uw slimme contract. Klik op de knop “Compileren”. Als het groene vinkje van “Solid Compiler” rood wordt, selecteer dan dezelfde slimme contractversie op het tabblad “Compiler”.
Stap 3 – Een Rinkeby Testnet-token verkrijgen
In deze stap implementeren we ons slimme contract op het Rinkeby Testnet. We hebben ook enkele Rinkeby Testnet-tokens nodig in onze portemonnee om de kosten voor het inzetten van slimme contracten te betalen. We zullen de kraanETHeen-website gebruiken waarop u wat gratis nep-ether naar uw portemonnee kunt overmaken. Zorg ervoor dat u Metamask in uw browser hebt geïnstalleerd of installeer het hier voordat u verder gaat. Klik vervolgens op uw Metamask-pictogram, zorg ervoor dat u naar het “Rinkeby-testnetwerk” bent overgestapt en kopieer uw portemonnee-adres. Plak vervolgens uw portemonnee-adres in het invoervak, zoals hieronder weergegeven:
Selecteer de optie “Rinkeby”, los de captcha op en klik op de “Funds aanvragen” knop om uw gratis ETH te verwerken. Wacht tot de pagina uw verzoek heeft verwerkt (dit kan enkele minuten duren). Als het aangevraagde fonds succesvol is, wordt u hiervan op de hoogte gesteld. Controleer vervolgens uw Metamask-portemonnee. Uw portemonnee moet worden gecrediteerd met 0,45 ETH.
Opmerking: u kunt alleen elke 60 minuten gratis ether aanvragen.
Stap 4 – Implementatie van het slimme contract
Na het samenstellen van ons slim