Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 11358|Antwoord: 0

Rekeningen en basiseenheden van Ethereum

[Link kopiëren]
Geplaatst op 24-02-2018 11:18:33 | | |
In het Ethereum-systeem bestaat de status uit objecten die "accounts" worden genoemd (elk account bestaat uit een 20-byte adres) en toestandsovergangen die waarde en informatie tussen twee accounts overdragen.
Een Ethereum-account bestaat uit vier delen:
Een willekeurig nummer dat een teller bepaalt en slechts één keer per transactie verwerkt kan worden
Het huidige Ethereum-saldo van de rekening
De contractcode van het account, indien aanwezig
Opslag van het account (standaard leeg)
Simpel gezegd bestaat elk Ethereum-account uit een paar publieke en private sleutels.
De publieke sleutel kan worden begrepen als het accountadres, dat door elk ander account toegankelijk is
Een privésleutel kan worden begrepen als een versleuteld wachtwoord, en dit paar publieke en private sleutels vormen samen een uniek geïdentificeerd Ethereum-account.
Bijvoorbeeld, in het eerste Ethereum-account eth.accounts[0] dat we in de vorige sectie hebben vastgesteld, is het adres 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f de publieke sleutel, en het versleutelde wachtwoord de private sleutel.
Accounts verhogen
We kunnen het commando personal.newAccount("123") invoeren om een nieuw account aan te maken (let op: 123 kan worden veranderd in elk ander wachtwoord)

Wanneer de Ethereum-privéketen aan het minen is, wordt de geminde ether gestort op de eerste Ethereum-rekening, dat wil zeggen eth.accounts[0], en eth.accounts[1] zullen standaard geen ether hebben. Op dit moment kunnen we het volgende commando gebruiken om het Ethereum-saldo in eth.accounts[0] te controleren.


Hoe converteer je Ethereum tussen twee accounts
Zoals eerder vermeld, is de publieke sleutel (adres) van elk account de kern van alle Ethereum-accountoperaties, maar de adresstring is te lang, dus gebruiken we acc0/acc1 om respectievelijk rekeningen[0] en [1] weer te geven, en stellen we 0,01 ETH in om overgedragen te worden


Op dit moment kunnen we eth.sendTransaction gebruiken om 0,01 ETH van acc0 naar acc1 over te zetten.



Een Ethereum-beschermingsmechanisme dat accounts af en toe automatisch vergrendelt, waarna elke omzetting van ETH tussen accounts wordt afgewezen tenzij het account wordt ontgrendeld.
Op dit moment moeten we personal.unlockAccount(acc0) uitvoeren en het wachtwoord invoeren om acc0 te ontgrendelen.


Op dit moment voeren we het commando eth.sendTransaction({from: acc0, to: acc1, value: amount} opnieuw uit, en het resultaat is als volgt:


We zien dat acc1 op dit moment een waarde heeft van 1000000000000000000000000000, in plaats van de vorige 0. Maar waarom is de waarde zo hoog terwijl we duidelijk 0,01 ethermunten willen geven? In feite klopt het, we hoeven alleen het commando web3.fromWei(100000000000000000000, "ether") in te voeren om het te weten.

De basiseenheid van Ether
De kleinste eenheid van de Ether-munt is Wei, wat ook de standaardeenheid van de commandoregel is, en dan één eenheid voor elke 1000, in die volgorde

Kwei (1000 Wei)
mwei (1000 KWei)
Gwei (1000 mwei)
Szabo (1000 Gwei)
Finney (1000 szabo)
ether (1000 Finney)

Simpel gezegd is het 1 ETH = 1000000000000000000000000 Wei (daarom hebben we bij de vorige stopstop 0,01 ETH overgedragen, maar het resultaat was erg lang).
Hoe je tussen ether en wei converteert


Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com