Foto autor Erwan Hesry saidil Unsplash

Kuidas juhtida oma esimest märki

See on teine ​​õpetus bitfwdi õpikusarjas, kus õpetame igapäevastele kasutajatele (jah! See olete teie, mu kallis lugeja), kuidas blokeeringuga suhelda. See on keerukam õpetus ja nõuab senisest rohkem tööriistu, kuid annan endast parima, et teid sammudest läbi vaadata. Alustagem!

Püüdes olla võimalikult kaasav, olen teinud selle õpetuse äärmiselt põhjalikuks. Edasijõudnumate kasutajate jaoks võite vabalt liikuda 4. etapini, kus saate teada, kuidas kasutada ekspordisaldosid.

Märkused abi küsimise kohta

Abi küsimisel on mul ainult üks reegel: proovige kaasata võimalikult palju teavet. (Nt lepingu aadress, vead, mis ilmuvad teie terminalis, teie seadme tüübis.) Nii ei pea me kommentaarides edasi-tagasi liikuma. Liituge meie telegrammiga ja küsige seal abi. Vastan kohe, kui mul aega on.

Eeltingimused

Enda lepingu kasutuselevõtmiseks peate järgima Moritz Neto õpetust.

Mida sa täna õpid

  1. Saate teada käsureal navigeerimise põhitõed.
  2. Õpid põhitõdesid, kuidas Githubis hoidlaid kahvlihaarata ja kloonida.
  3. Saate teada, kuidas Nodejs installida versioonihalduri nimega NVM.
  4. Saate teada, kuidas kasutada pariteeti (geti Rust rakendamine) kontojääkide eraldamiseks Ethereumi plokiahelast.
  5. Õpid, kuidas juhtida Parityt, et saaksite tehinguid kohapeal arvutist edastada.
  6. Saate teada sümboolse koma suuruse kohta, mis ilmub igas lepingus.
  7. Saate (lõpuks!) Teada, kuidas valmistada hüdrofilmi skripti hüdrofoorumite jaoks teie jaoks ette.
  8. Samuti saate teada, kuidas saate oma kohandatud hõljumisfunktsiooni rakendada, et saaksite otsustada, mitu märki igal kasutajal tuleks kasutada.

I samm: käsureal navigeerimine.

Klopige terminal lahti ja sisestage järgmine tekst:

pwd

See tähistab “prindi töökataloogi” ja näitab teile, kus te praegu olete. Valige selle kataloogi nimi, kuhu soovite oma koodi salvestada, ja sisestage kausta loomiseks tüüp. (mkdir = Kas luua kataloogi, kas soovite?)

mkdir "cool-folder-name-here"

Liikugem järgmise käsu abil kataloogi.

cd "lahe kaust-nimi-siin"

See tähistab muudatuste kataloogi ja viib teie praegusest asukohast äsja tehtud kausta. Seda saate kontrollida pwd uuesti käivitades. See on terminikäskude ulatus, mida te täna õpite, kuid kui soovite rohkem teada saada, vaadake seda ressurssi ja ka manustamislehti. Proovige treeninguna välja mõelda, mida käsk ls teeb.

Veenduge, et olete ka installinud. Installifailid leiate siit.

II etapp: kahvlite valmistamine ja kloonimine.

Nüüd, kui meie terminal on valmis, peame koodi oma arvutitesse saama. Seda protsessi nimetatakse kloonimiseks. Kuna me võime koodis muudatusi teha, on parem koodi kahvli kloonimine kui koodibaas ise. Kahvliharu võimaldab meil koodis muudatusi teha, ilma et see mõjutaks algset hoidlat.

Kahvli õppimine…

Nii et logige sisse Githubisse ja külastage koodide hoidlat. Paremas ülanurgas on kahvlinupp, millel saate klõpsata, et hoidlat oma kontole kinnistada.

Kui see on haruhariduse lõpetanud, märkate, et ta suunas teid teie hoidla enda eksemplari juurde (võite öelda, et see on koopia, kuna URL-is on bitfwdcommunity asemel teie nimi keskel).

Ekraani parempoolse keskmise serva lähedal on nupp „Kloon või lae alla“, millele klõpsate. Valige kindlasti „Kloonimine HTTPS-iga”. Kopeerige link ja kleepige see selle käsuga terminali.

git kloon "kleebi-URL-siia"

Kui klõpsate nuppu Enter, küsib see teie kasutajanime ja seejärel parooli (kasutage oma Githubi kasutajanime ja parooli). Pange tähele, et paroolide terminali sisestamise ajal neid ei kuvata. Kui olete lõpetanud, alustab see koodide hoidla arvutisse allalaadimist. Kui olete lõpetanud, tippige järgmine käsk:

cd Airdropper

See viib teid Airdropperi hoidlasse, kus käivitate selle tööriista kasutamiseks vajalikud käsud. Nüüd avage oma lemmikteksti redigeerimise tööriistas kaust Airdropper (minu lemmik on Atom).

III samm: sõlmede installimine.

See hõljumiskript töötab Nodejs'is, mille soovitan teil installida, minnes läbi Node Version Manager. Nodejsi installime NVM-i abil erinevalt muust põhjusest seetõttu, et see võimaldab säästvamat arengut. NVM võimaldab teil juhtida kasutatava sõlme versiooni peeneteralist juhtimist, mis on abiks juhul, kui töötate sõltuvustena paljude erinevate sõlmeversioonidega projektidel.

Selle installimiseks kasutate järgmist käsku

lokkima -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

Kui olete lõpetanud, taaskäivitage terminal. Nüüd saate nodejs installida! Seda saate teha lihtsa abil

nvm installisõlm

IV samm: kontojääkide eksportimine

Oma vinge tokeni edukaks lisamiseks teistele peame esmalt hankima nimekirja kõigist aadressidest, kuhu soovime edastada. Lihtsaim viis selle saavutamiseks on pariteedi eksportimisfunktsiooni kasutamine.

Esimene asi, mida peate tegema, on pariteedi installimine.

Pärast selle installimist peate selle sünkroonima kuni plokkini, millest soovite hetkeseisu teha. See tähendab, et kui soovite kogu saldo eraldada plokist 2 000 000, peate sünkroonima vähemalt plokiga 2 000 000. Pange tähele, et peate selle käivitama arhiivirežiimis ja fat-db režiimis. Selle saavutamiseks kasutatav käsk on:

pariteet -pruning = arhiiv -fat-db = on -chain = ropsten

Võite kasutada kumb iganes teile meeldib, kuid selles õpetuses kasutame ropstenit. Kinnitamaks, et pariteedil on õiged sätted, käivitatakse see hunniku konfiguratsioonidega. Seal on rida, mis ütleb: "Riigi DB konfiguratsioon". Kontrollige, kas see ütleb arhiivi ja fat-db.

Arhiivirežiimi ja rasva-db sisselülitamist soovime põhjusel, et me ei soovi püstitada riiklikku trie, kus kogu saldoinfo on salvestatud. Kui pariteet eksportib riiki, genereerib see tasakaalu iteereerides üle riigi trie. Kui olete sünkrooninud ploki, millesse soovite eksportida oleku, saate pariteedi sünkroonimise peatada.

Oletame, et soovime, et meie eksporditavad saldod järgiksid järgmisi reegleid:

  1. Tahame saldosid plokis 2 000 000.
  2. Soovime saldosid, mis ületavad 1000 RtETH
  3. Me tahame, et jäägid oleksid alla 500 000 RtETH

Neid reegleid arvestades kasutaksime järgmist koodi:

pariteedi ekspordi olek - kett = ropsten-pole-salvestus--kood-min-saldo = 1000-maks-saldo = 500000 -at = 2000000 saldo.json

Selle protsessi lõpuleviimine võib võtta mitu tundi.

Seda tehes saate teada, et on oluline seada maksimaalne tasakaal, vastasel juhul võivad mõned tohutu saldoga kasutajad jõuda kõigi teie märkidega.

V samm: tehingute edastamine

Tehingute levitamist Ethereumi võrku saab teha kahel viisil kaugsõlme, näiteks Infura või kohaliku pariteedirežiimi kaudu. Kuna edastame palju tehinguid, on parem kasutada oma sõlme. Kui olete oma pariteedisõlme sünkrooninud, kasutades fat-db ja arhiivirežiimis, sünkroonib see palju aeglasemalt, kui see oleks kiire režiimi korral. Sõlme lähtestamiseks ja selle sünkroonimiseks uuesti uusimasse olekusse saate andmebaasi tappa ja seejärel uuesti käivitada, kasutades järgmisi käske.

pariteet db kill -chain = ropsten
paarsus-ahel = ropsten-pügamine = kiire-rasv-db = välja lülitatud

Laske sellel taustal töötada, kuni valmistame ette ülejäänud tööriistad.

VI samm: märgi kümnendkoha suurus

Enne kui hakkame Airdropiiri seadistama, räägin natuke sümboolse lepingu kümnendkohtadest. Kümnendmurdude väli kirjeldab põhimõtteliselt seda, kui jagatav on teie märk. Selle olulisuse põhjuseks on asjaolu, et mitte kõik žetoonid ei tohiks olla jagatavad (nt kas soovite jagatavat “ükssarvikut”?). Komakohtade vaikimisi väärtus on 18. Komade kümnendkoha mõjul peavad seda arvestama kõik sümboolide väärtused (st lisa 18 nullist).

VII samm: õhuklapi ettevalmistamine

Laseme nüüd õhuründaja üles. Põhifail asub kataloogis index.js. Vaatame read 18–23, mis sisaldavad mõnda muutujat, mida saame muuta. Alustame sellega, et teeme igale kasutajale väga lihtsa 1-märgise lisateabe.

AIRDROP_QTY viitab kindlale hulgale märkidele, mille iga kasutaja juurde loobute. Vaikeväärtuseks on seatud 1.
KESTUS on aeg tehingu esitamise vahel.
GAS_LIMIT ja GAS_PRICE on vastavad limiidid ja hinnad, mida olete nõus oma tehingu eest maksma. Enne kui saate hinnata, kui palju gaasi olete nõus ühe tehingu eest maksma, saate kontrollida, kui palju on eetriskanalil pooleliolevaid tehinguid. Vaikeväärtus, mille ma sinna jätan, on 5gwei.

Näiteks kui teie lepingus on 1 000 000 märki, peate määrama INITIAL_TOKENS väärtuseks 1 000 000 000 000 000 000 000 000. (1 000 000 * 10 ^ d, kus d on teie lepingu kümnendkoha väärtused) , vaikeväärtus on 18).

Järgmisena peame seadistama oma kohandatud konfiguratsioonifaili. Tehke juurkataloogis (faili index.js kõrval) uus fail nimega „config.js“. See näeb välja midagi sellist ...

moodul.exports = {
    privateKey: 'pane oma-privaatne-võti siia',
    lepingAadress: „pane-teie-kasutusele-leping-aadress-siia”,
    abi: 'pane-oma-kasutusele-leping-abi-siin'
}

Kui kasutasite selle asemel seemet, saate privateKey välja eemaldada ja asendada see seemneväljaga ning Airdropper töötab endiselt. Kui te ei säilitanud oma ABI koopiat, peate lepingu uuesti kokku segama ja ABI kopeerima (see asub baitkoodivälja all).

Kui olete faili config.js loonud ja muudetavate väljade kohandamise lõpetanud, saate nüüd tokenid (lõpuks!) Lisada. Vahetult enne selle juurde jõudmist vaatame läbi viimase kontrollnimekirja, et veenduda, kas kõik sujub ...

Airdropi kontrollnimekiri

  1. Täissünkroonitud pariteetsõlm. (Saate kontrollida, milline plokk teil on, ja võrrelda seda eetriskangaga).
  2. Tokenite abil on teie kontol piisavalt RtETH-e. Meie kraanist saate rohkem. Pallipargi hinnangul maksavad 3000 tehingut 5gwei juures igaüks umbes 0,5 RtETH-i (seega veenduge, et teil oleks piisavalt!)
  3. Teie konto leht avatakse eetriskanalil (ropstenil!), Nii et näete pooleliolevaid tehinguid, mida eetris võrku edastatakse.

Kui teil on mõlemad need asjad olemas, olete valmis käivitama Airdropiiri järgmise käsuga.

sõlm index.js

Võite märgata, et skript hakkab “rippuma” ja sel hetkel saate värskendada ropsten etherscan lehte ja hakata kuvama ootel olevaid tehinguid. Kuna iga tehing on kaevandatud, prinditakse nii tehingu räsi kui ka indeksi andmed. oma terminali. Laske sellel natuke aega joosta ja kui see lõpeb, lõpeb see iseenesest.

Siit saate otsida oma sümboolse lepingu. Aadressi külastades võite klõpsata väljal Tokenide hoidjad ja siis näete kõigi žetoonide sümboolikat. Kui teie leping on lõpetatud, näete, et märgid jaotatakse kogu RtETH saldo põhjal. Panite tähele, et kõik teie žetoonid on endiselt teie kontoga (sest kõigile teistele saatsime ainult ühe!)

VIII samm: kohandatud õhurõhu funktsioon

Praktikas ei taha te ainult seda, et kõigil oleks üks märk. Võib-olla on teil lahe idee, kuidas žetoone jagada. Näiteks võite arvata, et kasutajatele tuleks žetoone premeerida võrdeliselt, lähtudes nende RtETH-de arvust. Näiteks kui soovite kasutada vaid kahte kasutajat, kellele üks soovib omada 10% kogu RtETH-ist ja teine ​​90% -st RtETH-ist, peaksid nad saama 10% märkidest ja 90% nendest, vastavalt.

Teie õnneks olen selle funktsiooni teie jaoks juba rakendanud. Nüüd, enne kui saame uuesti kasutada oma märke, peate oma lepingud ümber paigutama ja oma konfig.js faili aadressi värskendama. Samuti peate veenduma, et faili index.js real 23 olev väärtus INITIAL_TOKENS vastab täpselt teie vermitud saldole. See on oluline, kuna seda väärtust kasutatakse märgi arvutamise funktsioonis.

Näiteks kui teie lepingus on 1 000 000 märgist, peate määrama INITIAL_TOKENS väärtuseks 1 000 000 000 000 000 000 000 000. (1 000 000 * 10 ^ d, kus d on teie lepingu kümnendkoha väärtused) , vaikeväärtus on 18).

Kohandatud õhurõhu funktsioon

Oma sümboolse arvutamise funktsiooni värskendamiseks läheme funktsioonile “számlõppimine” ja kommenteerime rida 90, jättes rea 84–89 lahti. See funktsioon võtab siin kogubilansi ja proportsionaalse tasakaalu ning tagastab selle inimese jaoks vajalike märkide hulga. Kui olete selle teinud, siis minge uuesti kontrollnimekirja ja siis saate koodi käivitada!

Nüüd saate oma tokenilepingut uuesti kontrollida Etherscanis ja seekord näete, et žetoonid on palju õiglasemalt jaotatud.

Õiglaselt jaotunud märgid.

Kui olete juba väljakutse ees, proovige kirjutada oma sümboolika levitamise funktsioon (ja seejärel edastada avalike suhete teatis ja meil on siis terve raamatukogu kohandatud lennurežiimi funktsioone!);)

Järeldus

Noh, see selleks! Nüüdseks olete juba õppinud, kuidas oma esimest lepingut juurutada ja selle märke õiglaselt jagama. Kas selles õpetuses oli midagi ebaselget? Kas teil on küsimusi selle juurutamise kohta? Andke kommentaarides teada!

Kui teile see sisu meeldis (või soovite, et ma vastaksin teie küsimustele kiiremini;)), andke mulle mõni plaks! Kui olete huvitatud kõigist asjadest, siis jälgige mind twitteris.