Kuidas: saate luua oma privaatse Ethereumi plokiahela

Selle nädala olulisemad sündmused

  • Tolliserveri värskenduse vabastamine täna, et lisada kliendi kohalikul ajavööndil põhinevad sisselogimise hüved
  • Androidi ja iOS-i kliendi värskendused on praegu QA-s ja need avaldatakse järgmisel nädalal, sealhulgas reklaamitud plahvatused, mis on nüüd tähistatud kui "reklaamitud", pärandpuhastussüsteemid saavad nüüd preemiad ning muud jõudluse täiustused ja veaparandused.
  • Hüvitiste analüüsi kujundamine, valmistudes üleminekuks manetile
  • Ethereumi gaasikulude tasumise meetodi väljatöötamine ERC-20 märgiga
  • Erinevate mehhanismide uurimine salvestusketi sisu salvestamiseks

Kuidas: blockchain

See postitus tähistab esimest sarja uues "Kuidas teha" sarjas, mille eesmärk on pakkuda hõlpsasti loetavaid juhiseid teemadel, mida meie arendajad leidsid veebis eriti valesti dokumenteeritud. Liigume kaugemale märgimüügist ja keskendume nüüd teistele arendajate meeskondadele, kes on huvitatud GMT oma rakendustesse integreerimisest. Sel eesmärgil suurendame tehnilise sisu tootmist, et hõlbustada uute arendajate kaasamist, kes soovivad proovida kätt blockchain-tehnoloogiaga.

Kui teil on mõni konkreetne teema, mida soovite üksikasjalikumalt käsitleda jaotises Kuidas postitada, tahaksime teid kuulda e-posti aadressil info@mercuryprotocol.com.

“Tere, Testnet”

See on juhend omaenda kohandatud Ethereumi plokiahela käivitamiseks Macis, mida ei tohi segi ajada sõlme käivitamisega peamisel Ethereumi plokiahelal. Siin alustame täiesti uut ja eraldi plokiahelat, mis ei saa Ethereumi magnetiga suhelda.

Ethereumi plokiahela käivitamine on kasulik, hariv ja turvalisem kui avalik testnet. Privaatse testvõrgu seadistamise õppimine pakub muude abstraktsete mõistete, näiteks kaevandamine, võrgukaaslased ja isegi geth dataadir, kokkusobivuse.

Eeltingimused

Teil peab olema Geth installitud. Lihtsaim viis seda teha on koduõppe kaudu.

  1. Avage terminal ja installige koduveeb
ruby -e “$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

2. Installige nüüd geth

pruulima kraan ethereum / ethereum
pruulima installima ethereum

Looge Genesise fail

Genesise plokk on ahela esimene plokk, Genesise fail on JSON-fail, mis määratleb selle algse ploki ja seejärel ülejäänud plokiahela omadused.

  1. Looge kataloog oma võrgufailide hoidmiseks
mkdir minu-eth-ahel
CD minu-eth-ahel

2. Looge oma geneesifail

puudutage myGenesis.json

3. Avage oma geneesifail ja kleepige järgmine

{
   "config": {
      "kettId ": 1994,
      "homesteadBlock": 0,
      "eip155Block": 0,
      "eip158Block": 0,
      "byzantiumBlock": 0
   },
   "raskus": "400",
   "gasLimit": "2000000",
   "alloc": {
      "7b684d27167d208c66584ece7f09d8bc8f86ffff": {
          "tasakaal": "100000000000000000000000"
      },
      "ae13d41d66af28380c7af6d825ab557eb271ffff": {
          "tasakaal": "120000000000000000000000"
      }
   }
}

konfiguratsioon

  • chainId - see on teie keti identifikaator ja seda kasutatakse korduskaitses.
  • homesteadBlock, eip155Block, eip158Block, byzantiumBlock - need on seotud keti tõmbamise ja versioonimisega, nii et meie puhul laseme neil 0 jätta, kuna alustame uut plokiahelat.

raskused

See dikteerib, kui keeruline on plokki demineerida. Selle väärtuse madalaks seadmine (~ 10–10000) on abiks privaatses plokiahelas, kuna see võimaldab teil blokeerida kaevandused kiiresti, mis võrdub kiirete tehingutega, ja palju ETH-d, millega katsetada. Võrdluseks - fail Ethereum mainnet Genesis määratleb raskuse 17179869184.

gasLimit

See on igas plokis kasutatav gaasi üldkogus. Nii madala kaevandamisraskusega liiguvad plokid üsna kiiresti, kuid peaksite selle väärtuse siiski üsna kõrgeks seadma, et vältida limiidi ületamist ja võrgu aeglustumist.

alloc

Siin saate eraldada ETH konkreetsetele aadressidele. See ei loo teile kontot, seega veenduge, et see konto oleks juba teie kontol. Selle kasutamiseks peate konto lisama oma privaatsesse ahelasse ja selleks peate saama juurdepääsu võtmehoidja / utc-failile. Näiteks annavad Geth ja MyEtherWallet konto loomisel sellele failile juurdepääsu, kuid Metamask ja Coinbase seda ei tee. Esitatud aadressid ei ole tegelikud aadressid, need on lihtsalt näited. Siin eraldame vastavalt 100 000 ja 120 000 ETH.

Alusta oma sõlme!

Nüüd algab tõeline lõbu ja kõik oleme valmis oma uut Ethereumi plokiahelat süütama.

1. Alustage oma andmekataloogi

geth --datadir ./myDataDir init ./myGenesis.json

2. Käivitage oma Ethereumi peer-sõlm.

Networkid aitab tagada teie võrgu privaatsuse. Siin saate kasutada suvalist numbrit (kus me kasutasime numbrit 1114), kuid teised teie võrguga liituvad eakaaslased peavad kasutama sama numbrit.

geth --datadir ./myDataDir --networkid 1114 console 2 >> myEth.log

Väljund peaks välja nägema selline:

Tere tulemast Gethi JavaScripti konsooli!
näide: Geth / v1.7.3-stabiilne-4bb3c89d / darwin-amd64 / go1.8.3
mündibaas: 0xae13d41d66af28380c7af6d825ab557eb271ffff
plokis: 5 (teisipäev, 7. detsember 2017 17:08:48 PST)
datadir: / Kasutajad / test / minu eetikakett / myDataDir
moodulid: admin: 1.0 klikk: 1.0 silumine: 1.0 eth: 1.0 kaevandaja: 1.0 net: 1.0 isiklik: 1.0 RPC: 1.0 txpool: 1.0 web3: 1.0
>

See on JavaScripti konsool. Kõik käsud sümboliga> tuleks siia trükkida.

3. Kuvage oma Ethereumi logid

  • Avage teine ​​terminaliaken
  • CD minu-eth-ketti
  • Tippige saba -f myEth.log

4. Importige / looge konto

  • Kui määrasite Genesise failis ETH-i, impordige vastav konto, lohistades UTC-faili myDataDir / keystoredirectory ja minge edasi 5. toimingusse.
  • Looge geth JavaScripti konsoolis konto:
    > personal.newAccount ("")
  • Ärge unustage seda parooli! Te kirjutate seda palju, nii et selle testvõrgu jaoks saate selle lihtsaks hoida.

5. Määrake vaikekonto

  • Kontrollige oma vaikekontot, tippige
    > eth.coinbase
  • Kui see aadress on sama, mis sammus 4, jätke ülejäänud samm 5 vahele.
  • Vaikekonto määramiseks tippige
    > miner.setEtherbase (web3.eth.accounts [0])

6. Alustage kaevandamist

  • Kontrollige oma tasakaalu
    > eth.getBalance (eth.coinbase)
  • Jookse
    > miner.start ()
  • Vaadake oma muud terminaliakent, logides peaksite nägema kaevandamistoiminguid. Kontrollige oma saldo uuesti ja see peaks olema suurem.
  • Kaevandamise lõpetamiseks tippige
    > miner.stop ()

Valikuline: lisage muud peerid

Lisage oma privaatsesse Ethereumi võrku rohkem sõlme.

1. Alustage uut partnerit

  • Koostage samal masinal uus datir:
geth --datadir ./peer2DataDir init ./myGenesis.json
  • 2. peer käivitamine teisest pordist:
geth --datadir ./peer2DataDir --networkid 1114 --port 30304 console 2 >> myEth2.log

2. Kuvage oma Ethereumi logid

  • Avage teine ​​terminaliaken
  • CD minu-eth-ketti
  • Tippige saba -f myEth2.log

3. Liituge 1. peeriga

  • Tippige oma 1. partneri JavaScripti konsooli:
> admin.nodeInfo.enode
  • Väljund näeb välja selline: „enode: // dcff6d9dcb14eeb1d1b7575b0653fa1025ad1b7722c6d652d0449f0966e97931bdf037e5542086e7b9e0bec056566522c6c0cc4a73e8e4e6186e0e03e0e0e0e0e0bec056566522c6c0cc4a73e8e4186
  • Tippige oma uue 2. partneri JavaScripti konsoolis:
> admin.addPeer (“enode: //b56882b93f4f97dd69f98c1dca1bd751c72374b5a8b5852288a56059a8cbc63614afd57274cfa7695178cf292aad9e682f0117044f9a28cc2929c8290808f8a
  • Asendage ülaltoodud “enode: //… @” kindlasti administraatori admin.nodeInfo.enode väljundiga, mis on teie jaoks konkreetne. Nagu ülal näidatud, asendatakse “[::]” numbriga “127.0.0.1:30303”, mis on IP: 1. partneri port.

4. Kontrollige, kas teie sõlmed suhtlevad nüüd

  • Tippige oma uue 2. partneri JavaScripti konsoolis:
> admin.peers
  • Väljund peaks näitama, et 2. võrk on ühendatud127.0.0.1: 30303-ga

Kasulik: konsooli käskude andmine

admin.nodeInfo.enode
net.lisseerimine
net.peerCount
admin.peers
eth.coinbase
eth.getBalance (eth.coinbase)
isiklik
eth.kontod
miner.setEtherbase (web3.eth.accounts [0])
miner.setEtherbase („0xae13d41d66af28380c7af6d825ab557eb271ffff”)
kaevandaja.start ()
miner.stop ()
kaevandaja
eth.getBlock (0)
eth.getBlock (uusim)
eth.blockNumber
web3.eth.getBlock (BLOCK_NUMBER) .jah
eth.syncing
debug.verbosity (6) // kõrgeim logimistase, 3 on vaikimisi

Jagage oma mõtteid meiega kõigis allpool lingitud kogukonna kanalites!

Ühendage

Lõtv
Telegramm
Twitter
Reddit
Facebook
LinkedIn

Lisateave elavhõbedaprotokolli kohta
Lugege elavhõbedaprotokolli valget raamatut