Ruka hadi maudhui makuu
Change page

Anzisha nodi yako mwenyewe ya Ethereum

Kuendesha nodi yako mwenyewe kunakupa faida mbalimbali, kufungua uwezekano mpya, na kusaidia kuunga mkono ekolojia. Ukurasa huu utakuongoza kupitia kuanzisha nodi yako mwenyewe na kushiriki katika kuthibitisha miamala ya Ethereum.

Kumbuka kwamba baada ya Unganisho, viteja viwili vinahitajika ili kuendesha nodi ya Ethereum; kiteja cha tabaka la utekelezaji (EL) na kiteja cha tabaka la mwafaka (CL). Ukurasa huu utaonyesha jinsi ya kusakinisha, kusanidi na kuunganisha viteja hivi viwili ili kuendesha nodi ya Ethereum.

Mahitaji ya awali

Unapaswa kuelewa nodi ya Ethereum ni nini na kwa nini unaweza kutaka kuendesha kiteja. Hili limeangaziwa katika Nodi na viteja.

Ikiwa wewe ni mgeni kwenye mada ya kuendesha nodi, au unatafuta njia isiyo ya kiufundi sana, tunapendekeza kwanza uangalie utangulizi wetu rafiki kwa mtumiaji kuhusu kuendesha nodi ya Ethereum.

Kuchagua mbinu

Hatua ya kwanza katika kuanzisha nodi yako ni kuchagua mbinu yako. Kulingana na mahitaji na uwezekano mbalimbali, lazima uchague utekelezaji wa kiteja (kwa viteja vyote vya utekelezaji na mwafaka), mazingira (vifaa, mfumo), na vigezo vya mipangilio ya kiteja.

Ukurasa huu utakuongoza kupitia maamuzi haya na kukusaidia kupata njia inayofaa zaidi ya kuendesha mfano wako wa Ethereum.

Ili kuchagua kutoka kwa utekelezaji wa kiteja, angalia viteja vya utekelezaji vyote vinavyopatikana vilivyo tayari kwa Mtandao Mkuu, wateja wa mwafaka na ujifunze kuhusu anuwai ya wateja.

Amua kama utaendesha programu kwenye vifaa vyako mwenyewe au kwenye wingu, ukizingatia mahitaji ya viteja.

Baada ya kuandaa mazingira, sakinisha viteja vilivyochaguliwa ama kwa kiolesura rafiki kwa wanaoanza au kwa mikono ukitumia terminali iliyo na chaguo za hali ya juu.

Wakati nodi inafanya kazi na kusawazisha, uko tayari kuitumia, lakini hakikisha unafuatilia matengenezo yake.

Usanidi wa kiteja

Mazingira na vifaa

Kwenye mashine ya ndani au wingu

Viteja vya Ethereum vinaweza kufanya kazi kwenye kompyuta za kiwango cha watumiaji na havihitaji vifaa vyovyote maalum, kama vile mashine za uchimbaji kwa mfano. Kwa hivyo, una chaguo mbalimbali za kusambaza nodi kulingana na mahitaji yako. Ili kurahisisha, hebu tufikirie kuhusu kuendesha nodi kwenye mashine ya kimwili ya ndani na seva ya wingu:

  • Wingu
    • Watoa huduma hutoa muda mwingi wa kufanya kazi wa seva na anwani za IP za umma zisizobadilika
    • Kupata seva maalum au ya mtandaoni kunaweza kufaa zaidi kuliko kujenga yako mwenyewe
    • Ubaya ni kuamini mtu wa tatu - mtoa huduma wa seva
    • Kwa sababu ya ukubwa wa hifadhi unaohitajika kwa nodi kamili, bei ya seva iliyokodishwa inaweza kuwa juu
  • Vifaa vyako mwenyewe
    • Mbinu huru na bila hitaji la uaminifu zaidi
    • Uwekezaji wa mara moja
    • Chaguo la kununua mashine zilizosanidiwa mapema
    • Inabidi uandae kimwili, udumishe, na uwezekano wa kusuluhisha matatizo ya mashine na mtandao

Chaguo zote mbili zina faida tofauti zilizojumlishwa hapo juu. Ikiwa unatafuta suluhisho la wingu, pamoja na watoa huduma wengi wa jadi wa kompyuta ya wingu, pia kuna huduma zinazolenga kusambaza nodi. Angalia nodi kama huduma kwa chaguo zaidi kwenye nodi zilizopangishwa.

Vifaa

Hata hivyo, mtandao unaostahimili udhibiti, uliogatuliwa haupaswi kutegemea watoa huduma wa wingu. Badala yake, kuendesha nodi yako kwenye vifaa vyako vya ndani ni bora zaidi kwa ekolojia. Makadirio (inafunguka katika kichupo kipya) yanaonyesha sehemu kubwa ya nodi zinaendeshwa kwenye wingu, ambazo zinaweza kuwa sehemu moja ya kutofaulu.

Viteja vya Ethereum vinaweza kufanya kazi kwenye kompyuta yako, kompyuta mpakato, seva, au hata kompyuta ya bodi moja. Wakati kuendesha viteja kwenye kompyuta yako binafsi inawezekana, kuwa na mashine maalum kwa ajili ya nodi yako tu kunaweza kuimarisha sana utendaji na usalama wake huku ukipunguza athari kwenye kompyuta yako kuu.

Kutumia vifaa vyako mwenyewe inaweza kuwa rahisi sana. Kuna chaguo nyingi rahisi pamoja na mipangilio ya hali ya juu kwa watu wa kiufundi zaidi. Kwa hivyo hebu tuangalie mahitaji na njia za kuendesha viteja vya Ethereum kwenye mashine yako.

Mahitaji

Mahitaji ya vifaa hutofautiana kwa kila kiteja lakini kwa ujumla si makubwa sana kwa kuwa nodi inahitaji tu kusalia katika usawazishaji. Usichanganye na uchimbaji, ambao unahitaji nguvu zaidi ya kompyuta. Hata hivyo, muda wa usawazishaji na utendakazi huboreka ukiwa na vifaa vyenye nguvu zaidi.

Kabla ya kusakinisha kiteja chochote, tafadhali hakikisha kompyuta yako ina rasilimali za kutosha kukiendesha. Unaweza kupata mahitaji ya chini na yaliyopendekezwa hapa chini.

Kikwazo cha vifaa vyako mara nyingi ni nafasi ya diski. Kusawazisha mnyororo wa vitalu wa Ethereum kunahitaji uingizaji/utokaji mwingi na kunahitaji nafasi kubwa. Ni bora kuwa na hifadhi ya hali thabiti (SSD) iliyo na mamia ya GB za nafasi ya bure ya kuhifadhi hata baada ya usawazishaji.

Ukubwa wa hifadhidata na kasi ya usawazishaji wa awali inategemea kiteja kilichochaguliwa, usanidi wake na mkakati wa usawazishaji.

Pia hakikisha muunganisho wako wa intaneti hauzuiliwi na kikomo cha kipimo data (inafunguka katika kichupo kipya). Inapendekezwa kutumia muunganisho usio na kipimo kwani usawazishaji wa awali na data inayotangazwa kwenye mtandao inaweza kuzidi kikomo chako.

Mfumo wa uendeshaji

Viteja vyote hutumia mifumo mikuu ya uendeshaji - Linux, macOS, Windows. Hii ina maana unaweza kuendesha nodi kwenye mashine za kawaida za mezani au seva zilizo na mfumo wa uendeshaji (OS) unaokufaa zaidi. Hakikisha OS yako imesasishwa ili kuepuka matatizo yanayoweza kutokea na udhaifu wa kiusalama.

Mahitaji ya chini
Vipimo vilivyopendekezwa

Mwongozo wa sasa wa vifaa kwa waendeshaji wa nodi umetambuliwa katika EIP-7870 (inafunguka katika kichupo kipya). Kwa nodi kamili inapendekeza:

  • CPU yenye kasi iliyo na core 4+ (core 8+ ikiwa inathibitisha)
  • RAM ya GB 32 (GB 64 inapendekezwa ikiwa inathibitisha ili kuhakikisha uthabiti)
  • SSD ya NVMe ya TB 4 (hifadhi zisizo na DRAM na QLC hazipendekezwi)
  • Kipimo data cha 50 MBit/s cha kupakua / 15+ MBit/s cha kupakia (25+ MBit/s cha kupakia ikiwa inathibitisha)

Hali ya usawazishaji na kiteja unachochagua kitaathiri mahitaji ya nafasi, lakini tumekadiria nafasi ya diski utayohitaji kwa kila kiteja hapa chini.

KitejaUkubwa wa diski (usawazishaji wa picha)Ukubwa wa diski (kumbukumbu kamili)
Besu800GB+12TB+
ErigonN/A2.5TB+
Geth500GB+12TB+
Nethermind500GB+12TB+
RethN/A2.2TB+
  • Kumbuka: Erigon na Reth hazitoi usawazishaji wa picha, lakini Upogoaji Kamili unawezekana (~2TB kwa Erigon, ~1.2TB kwa Reth)

Kwa wateja wa mwafaka, hitaji la nafasi pia linategemea utekelezaji wa kiteja na vipengele vilivyowezeshwa (k.m., mkataji wa mthibitishaji) lakini kwa ujumla hesabu na GB 200 nyingine zinazohitajika kwa data ya kinara. Kukiwa na idadi kubwa ya wathibitishaji, mzigo wa kipimo data unakua pia. Unaweza kupata maelezo kuhusu mahitaji ya mteja wa mwafaka katika uchanganuzi huu (inafunguka katika kichupo kipya).

Suluhu za chomeka-na-cheza

Chaguo rahisi zaidi la kuendesha nodi na vifaa vyako mwenyewe ni kutumia visanduku vya chomeka-na-cheza. Mashine zilizosanidiwa mapema kutoka kwa wachuuzi hutoa uzoefu wa moja kwa moja: agiza, unganisha, endesha. Kila kitu kimesanidiwa mapema na hufanya kazi kiotomatiki na mwongozo angavu na dashibodi ya kufuatilia na kudhibiti programu.

Ethereum kwenye kompyuta ya bodi moja

Njia rahisi na nafuu ya kuendesha nodi ya Ethereum ni kutumia kompyuta ya bodi moja, hata yenye usanifu wa ARM kama Raspberry Pi. Ethereum kwenye ARM (inafunguka katika kichupo kipya) hutoa picha zilizo rahisi kuendesha za kiteja cha utekelezaji na mwafaka nyingi kwa Raspberry Pi na bodi zingine za ARM.

Vifaa vidogo, vya bei nafuu na vyenye ufanisi kama hivi ni bora kwa kuendesha nodi nyumbani lakini kumbuka utendakazi wao mdogo.

Kuanzisha nodi

Usanidi halisi wa kiteja unaweza kufanywa ama kwa vizindua vya kiotomatiki au kwa mikono, kusanidi programu ya kiteja moja kwa moja.

Kwa watumiaji wasio na ujuzi sana, mbinu inayopendekezwa ni kutumia kizindua, programu inayokuongoza kupitia usakinishaji na kugeuza mchakato wa kusanidi kiteja kiotomatiki. Hata hivyo, ikiwa una uzoefu fulani wa kutumia terminali, hatua za usanidi wa mikono zinapaswa kuwa rahisi kufuata.

Usanidi unaoongozwa

Miradi mingi rafiki kwa mtumiaji inalenga kuboresha uzoefu wa kusanidi kiteja. Vizindua hivi hutoa usakinishaji na usanidi wa kiteja kiotomatiki, na baadhi hata hutoa kiolesura cha picha kwa usanidi unaoongozwa na ufuatiliaji wa viteja.

Hapa chini kuna miradi michache inayoweza kukusaidia kusakinisha na kudhibiti viteja kwa kubofya mara chache tu:

  • DAppNode (inafunguka katika kichupo kipya) - DAppNode haiji tu na mashine kutoka kwa mchuuzi. Programu, kizindua nodi halisi na kituo cha udhibiti chenye vipengele vingi vinaweza kutumika kwenye vifaa vya kiholela.
  • EthPillar (inafunguka katika kichupo kipya) - Njia ya haraka na rahisi zaidi ya kusanidi nodi kamili. Zana ya usanidi wa mstari mmoja na TUI ya usimamizi wa nodi. Bure. Chanzo wazi. Bidhaa za umma kwa Ethereum na waweka dhamana wanaojitegemea. Usaidizi wa ARM64 na AMD64.
  • eth-docker (inafunguka katika kichupo kipya) - Usanidi wa kiotomatiki kwa kutumia Docker unaozingatia uwekaji dhamana rahisi na salama, unahitaji ujuzi wa kimsingi wa terminali na Docker, uliopendekezwa kwa watumiaji wa hali ya juu kidogo.
  • Stereum (inafunguka katika kichupo kipya) - Kizindua cha kusakinisha viteja kwenye seva ya mbali kupitia unganisho la SSH na mwongozo wa usanidi wa GUI, kituo cha udhibiti, na vipengele vingine vingi.
  • Sedge (inafunguka katika kichupo kipya) - Zana ya usanidi wa nodi ambayo inaunda usanidi wa Docker kiotomatiki kwa kutumia mchawi wa CLI. Imeandikwa katika Go na Nethermind.
  • Chainstack Inayojipangisha (inafunguka katika kichupo kipya) - UI ya Wavuti na CLI kwa kusambaza viteja vya utekelezaji na mwafaka kwenye Kubernetes. Kianzio cha Snapshot na ufuatiliaji uliojengewa ndani umejumuishwa. Bure. Hakuna akaunti ya Chainstack inayohitajika. Imejengwa na Chainstack.

Usanidi wa viteja kwa mikono

Chaguo jingine ni kupakua, kuthibitisha, na kusanidi programu ya kiteja kwa mikono. Hata kama baadhi ya viteja vinatoa kiolesura cha picha, usanidi wa mikono bado unahitaji ujuzi wa kimsingi na terminali lakini hutoa utofauti zaidi.

Kama ilivyoelezwa hapo awali, kusanidi nodi yako mwenyewe ya Ethereum kutahitaji kuendesha jozi ya wateja wa mwafaka na utekelezaji. Baadhi ya viteja vinaweza kujumuisha kiteja chepesi cha aina nyingine na kusawazisha bila programu nyingine yoyote inayohitajika. Hata hivyo, uthibitishaji kamili bila hitaji la uaminifu unahitaji utekelezaji wote miwili.

Kupata programu ya kiteja

Kwanza, unahitaji kupata programu yako unayopendelea ya kiteja cha utekelezaji na mteja wa mwafaka.

Unaweza kupakua kwa urahisi programu inayoweza kutekelezwa au kifurushi cha usakinishaji kinachofaa mfumo wako wa uendeshaji na usanifu. Thibitisha kila wakati saini na cheksamu za vifurushi vilivyopakuliwa. Baadhi ya viteja pia hutoa hazina au picha za Docker kwa usakinishaji na masasisho rahisi. Viteja vyote ni chanzo wazi, kwa hivyo unaweza pia kuvijenga kutoka kwa chanzo. Hii ni njia ya hali ya juu zaidi, lakini katika baadhi ya matukio, inaweza kuhitajika.

Maagizo ya kusakinisha kila kiteja yametolewa katika nyaraka zilizounganishwa katika orodha za viteja hapo juu.

Hapa kuna kurasa za kutolewa kwa viteja ambapo unaweza kupata jozi zao zilizojengwa mapema au maagizo juu ya usakinishaji:

Viteja vya utekelezaji

Inafaa pia kuzingatia kwamba anuwai ya wateja ni suala kwenye tabaka la utekelezaji. Inapendekezwa kuwa wasomaji wafikirie kuendesha kiteja cha utekelezaji cha wachache.

Wateja wa mwafaka

Anuwai ya wateja ni muhimu kwa nodi za mwafaka zinazoendesha wathibitishaji. Ikiwa wengi wa wathibitishaji wanaendesha utekelezaji wa kiteja kimoja, usalama wa mtandao uko hatarini. Kwa hivyo inapendekezwa kuzingatia kuchagua kiteja cha wachache.

Tazama matumizi ya hivi punde ya kiteja cha mtandao (inafunguka katika kichupo kipya) na ujifunze zaidi kuhusu anuwai ya wateja.

Kuthibitisha programu

Unapopakua programu kutoka kwenye mtandao, inashauriwa kuthibitisha uadilifu wake. Hatua hii ni ya hiari lakini hasa kwa kipande muhimu cha miundombinu kama kiteja cha Ethereum, ni muhimu kufahamu vekta zinazowezekana za mashambulizi na kuziepuka. Ikiwa ulipakua jozi iliyojengwa mapema, unahitaji kuiamini na kuhatarisha kwamba mshambuliaji anaweza kubadilisha ile inayoweza kutekelezwa kwa hasidi.

Wasanidi hutia saini jozi zilizotolewa kwa funguo zao za PGP ili uweze kuthibitisha kwa njia ya kificho kuwa unaendesha programu hasa waliyounda. Unahitaji tu kupata funguo za umma zinazotumiwa na wasanidi, ambazo zinaweza kupatikana kwenye kurasa za kutolewa kwa kiteja au kwenye nyaraka. Baada ya kupakua toleo la kiteja na saini yake, unaweza kutumia utekelezaji wa PGP, k.m., GnuPG (inafunguka katika kichupo kipya) ili kuzithibitisha kwa urahisi. Angalia mafunzo ya kuthibitisha programu huria kwa kutumia gpg kwenye Linux (inafunguka katika kichupo kipya) au Windows/macOS (inafunguka katika kichupo kipya).

Aina nyingine ya uthibitishaji ni kuhakikisha kwamba heshi, alama ya kipekee ya kificho, ya programu uliyopakua inalingana na ile iliyotolewa na wasanidi. Hii ni rahisi zaidi kuliko kutumia PGP, na baadhi ya viteja hutoa chaguo hili pekee. Endesha tu kazi ya heshi kwenye programu iliyopakuliwa na uilinganishe na ile kutoka kwenye ukurasa wa kutolewa. Kwa mfano:

sha256sum teku-22.6.1.tar.gz

9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde

Usanidi wa kiteja

Baada ya kusakinisha, kupakua, au kukusanya programu ya kiteja, uko tayari kuiendesha. Hii inamaanisha tu inapaswa kutekelezwa kwa usanidi unaofaa. Viteja hutoa chaguo nyingi za usanidi, ambazo zinaweza kuwezesha vipengele mbalimbali.

Hebu tuanze na chaguo zinazoweza kuathiri kwa kiasi kikubwa utendakazi wa kiteja na matumizi ya data. Hali za usawazishaji zinawakilisha mbinu tofauti za kupakua na kuthibitisha data ya mnyororo wa vitalu. Kabla ya kuanzisha nodi, unapaswa kuamua ni mtandao na hali gani ya usawazishaji utatumia. Mambo muhimu zaidi ya kuzingatia ni nafasi ya diski, na muda wa usawazishaji kiteja kitahitaji. Zingatia nyaraka za kiteja ili kubaini ni hali gani ya usawazishaji ndiyo chaguomsingi. Ikiwa hiyo haikufai, chagua nyingine kulingana na kiwango cha usalama, data inayopatikana, na gharama. Kando na algoriti ya usawazishaji, unaweza pia kuweka upogoaji wa aina tofauti za data ya zamani. Upogoaji huwezesha kufuta data iliyopitwa na wakati, yaani, kuondoa nodi za trie ya hali ambazo hazipatikani kutoka kwa vitalu vya hivi karibuni.

Chaguo zingine za msingi za usanidi ni, k.m., kuchagua mtandao - Mtandao Mkuu au mitandao ya majaribio, kuwezesha mwisho wa HTTP kwa RPC au WebSockets, n.k. Unaweza kupata vipengele vyote na chaguo katika nyaraka za kiteja. Mipangilio mbalimbali ya kiteja inaweza kuwekwa kwa kutekeleza kiteja na bendera zinazolingana moja kwa moja kwenye CLI au faili ya usanidi. Kila kiteja ni tofauti kidogo; tafadhali rejelea kila wakati nyaraka zake rasmi au ukurasa wa usaidizi kwa maelezo kuhusu chaguo za usanidi.

Kwa madhumuni ya majaribio, unaweza kupendelea kuendesha kiteja kwenye mojawapo ya mitandao ya majaribio. Tazama muhtasari wa mitandao inayotumika.

Mifano ya kuendesha viteja vya utekelezaji kwa usanidi wa msingi inaweza kupatikana katika sehemu inayofuata.

Kuanzisha kiteja cha utekelezaji

Kabla ya kuanzisha programu ya kiteja cha Ethereum, fanya ukaguzi wa mwisho kwamba mazingira yako yako tayari. Kwa mfano, hakikisha:

  • Kuna nafasi ya kutosha ya diski ukizingatia mtandao uliochaguliwa na hali ya usawazishaji.
  • Kumbukumbu na CPU haijasimamishwa na programu zingine.
  • Mfumo wa uendeshaji umesasishwa kwa toleo la hivi punde.
  • Mfumo una saa na tarehe sahihi.
  • Rota na ngome yako inakubali miunganisho kwenye milango ya kusikiliza. Kwa chaguomsingi viteja vya Ethereum hutumia mlango wa kusikiliza (TCP) na mlango wa ugunduzi (UDP), zote zikiwa kwenye 30303 kwa chaguomsingi.

Endesha kiteja chako kwenye mtandao wa majaribio kwanza ili kusaidia kuhakikisha kila kitu kinafanya kazi kwa usahihi.

Unahitaji kutangaza mipangilio yoyote ya kiteja ambayo sio chaguomsingi mwanzoni. Unaweza kutumia bendera au faili ya usanidi kutangaza usanidi wako unaopendelea. Seti ya vipengele na sintaksia ya usanidi ya kila kiteja inatofautiana. Angalia nyaraka za kiteja chako kwa maelezo maalum.

Viteja vya utekelezaji na mwafaka huwasiliana kupitia mwisho uliothibitishwa uliobainishwa katika API ya Injini (inafunguka katika kichupo kipya). Ili kuunganisha kwa mteja wa mwafaka, kiteja cha utekelezaji lazima kitoe jwtsecret (inafunguka katika kichupo kipya) kwenye njia inayojulikana. Kwa sababu za kiusalama na uthabiti, viteja vinapaswa kufanya kazi kwenye mashine moja, na viteja vyote viwili lazima vijue njia hii kwani inatumiwa kuthibitisha muunganisho wa RPC wa ndani kati yao. Kiteja cha utekelezaji lazima pia kifafanue mlango wa kusikiliza kwa API zilizothibitishwa.

Tokeni hii inatolewa kiotomatiki na programu ya kiteja, lakini katika baadhi ya matukio, unaweza kuhitaji kufanya mwenyewe. Unaweza kuizalisha ukitumia OpenSSL (inafunguka katika kichupo kipya):

openssl rand -hex 32 > jwtsecret

Kuendesha kiteja cha utekelezaji

Sehemu hii itakuongoza kupitia kuanzisha viteja vya utekelezaji. Inatumika tu kama mfano wa usanidi wa msingi, ambao utaanzisha kiteja kwa mipangilio hii:

  • Inabainisha mtandao wa kuunganisha, Mtandao Mkuu katika mifano yetu
  • Inafafanua saraka ya data, ambapo data yote ikijumuisha mnyororo wa vitalu itahifadhiwa
    • Hakikisha unabadilisha njia na ile halisi, k.m., inayoelekeza kwenye hifadhi yako ya nje
  • Inawezesha violesura vya kuwasiliana na kiteja
    • Ikijumuisha JSON-RPC na API ya Injini kwa mawasiliano na mteja wa mwafaka
  • Inafafanua njia ya kuelekea jwtsecret kwa API iliyothibitishwa
    • Hakikisha unabadilisha njia ya mfano na ile halisi ambayo inaweza kufikiwa na viteja, k.m., /tmp/jwtsecret

Tafadhali kumbuka kuwa huu ni mfano wa kimsingi tu, mipangilio mingine yote itawekwa kuwa chaguomsingi. Zingatia nyaraka za kila kiteja ili ujifunze kuhusu thamani za chaguomsingi, mipangilio, na vipengele. Kwa vipengele zaidi, kwa mfano kwa kuendesha wathibitishaji, ufuatiliaji, n.k., tafadhali rejelea nyaraka za kiteja mahususi.

Kumbuka kuwa mikwaju ya nyuma \ katika mifano ni kwa madhumuni ya uumbizaji pekee; bendera za usanidi zinaweza kufafanuliwa katika mstari mmoja.

Kuendesha Besu

Mfano huu unaanzisha Besu kwenye Mtandao Mkuu, huhifadhi data ya mnyororo wa vitalu katika umbizo chaguomsingi kwenye /data/ethereum, huwezesha JSON-RPC na RPC ya Injini kwa kuunganisha mteja wa mwafaka. API ya Injini imethibitishwa na tokeni jwtsecret na simu pekee kutoka localhost zinaruhusiwa.

besu --network=mainnet \
    --data-path=/data/ethereum \
    --rpc-http-enabled=true \
    --engine-rpc-enabled=true \
    --engine-host-allowlist="*" \
    --engine-jwt-enabled=true \
    --engine-jwt-secret=/path/to/jwtsecret

Besu pia inakuja na chaguo la kizindua ambacho kitauliza mfululizo wa maswali na kutoa faili ya usanidi. Endesha kizindua shirikishi ukitumia:

besu --Xlauncher

Nyaraka za Besu (inafunguka katika kichupo kipya) zina chaguo za ziada na maelezo ya usanidi.

Kuendesha Erigon

Mfano huu unaanzisha Erigon kwenye Mtandao Mkuu, huhifadhi data ya mnyororo wa vitalu kwenye /data/ethereum, huwezesha JSON-RPC, hufafanua ni nafasi gani za majina zinaruhusiwa na huwezesha uthibitishaji wa kuunganisha mteja wa mwafaka ambao unafafanuliwa na njia ya jwtsecret.

erigon --chain mainnet \
    --datadir /data/ethereum  \
    --http --http.api=engine,eth,web3,net \
    --authrpc.jwtsecret=/path/to/jwtsecret

Kwa chaguomsingi Erigon hufanya usawazishaji kamili na HDD ya 8GB ambayo itasababisha zaidi ya 2TB ya data ya kumbukumbu. Hakikisha datadir inaelekeza kwenye diski yenye nafasi ya kutosha ya bure au angalia bendera ya --prune ambayo inaweza kupunguza aina tofauti za data. Angalia --help ya Erigon ili kujifunza zaidi.

Kuendesha Geth

Mfano huu unaanzisha Geth kwenye Mtandao Mkuu, huhifadhi data ya mnyororo wa vitalu kwenye /data/ethereum, huwezesha JSON-RPC na kufafanua ni nafasi gani za majina zinaruhusiwa. Pia inawezesha uthibitishaji wa kuunganisha mteja wa mwafaka ambao unahitaji njia ya kuelekea jwtsecret na pia chaguo la kufafanua ni miunganisho gani inaruhusiwa, katika mfano wetu tu kutoka localhost.

geth --mainnet \
    --datadir "/data/ethereum" \
    --http --authrpc.addr localhost \
    --authrpc.vhosts="localhost" \
    --authrpc.port 8551
    --authrpc.jwtsecret=/path/to/jwtsecret

Angalia nyaraka kwa chaguo zote za usanidi (inafunguka katika kichupo kipya) na ujifunze zaidi kuhusu kuendesha Geth na mteja wa mwafaka (inafunguka katika kichupo kipya).

Kuendesha Nethermind

Nethermind inatoa chaguo mbalimbali za usakinishaji (inafunguka katika kichupo kipya). Kifurushi huja na jozi mbalimbali, ikiwa ni pamoja na Kizindua kilicho na usanidi unaoongozwa, ambacho kitakusaidia kuunda usanidi kwa maingiliano. Vinginevyo, unapata Kikimbiaji ambacho ndicho kinachoweza kutekelezwa chenyewe na unaweza kukiendesha tu na bendera za usanidi. JSON-RPC imewezeshwa kwa chaguomsingi.

Nethermind.Runner --config mainnet \
    --datadir /data/ethereum \
    --JsonRpc.JwtSecretFile=/path/to/jwtsecret

Nyaraka za Nethermind hutoa mwongozo kamili (inafunguka katika kichupo kipya) wa kuendesha Nethermind na mteja wa mwafaka.

Kiteja cha utekelezaji kitaanzisha kazi zake za msingi, miisho iliyochaguliwa, na kuanza kutafuta marika. Baada ya kugundua marika kwa ufanisi, kiteja huanza usawazishaji. Kiteja cha utekelezaji kitasubiri muunganisho kutoka kwa mteja wa mwafaka. Data ya sasa ya mnyororo wa vitalu itapatikana mara tu kiteja kitakaposawazishwa kwa ufanisi kwenye hali ya sasa.

Kuendesha Reth

Mfano huu unaanzisha Reth kwenye Mtandao Mkuu, kwa kutumia eneo chaguomsingi la data. Huwezesha uthibitishaji wa JSON-RPC na RPC ya Injini kwa kuunganisha mteja wa mwafaka ambao unafafanuliwa na njia ya jwtsecret, huku simu pekee kutoka localhost zikikubaliwa.

reth node \
    --authrpc.jwtsecret /path/to/jwtsecret \
    --authrpc.addr 127.0.0.1 \
    --authrpc.port 8551

Tazama Kusanidi Reth (inafunguka katika kichupo kipya) ili ujifunze zaidi kuhusu saraka chaguomsingi za data. Nyaraka za Reth (inafunguka katika kichupo kipya) zina chaguo za ziada na maelezo ya usanidi.

Kuanzisha mteja wa mwafaka

Mteja wa mwafaka lazima aanzishwe na usanidi sahihi wa mlango ili kuanzisha muunganisho wa RPC wa ndani kwenye kiteja cha utekelezaji. Wateja wa mwafaka wanapaswa kuendeshwa na mlango wa kiteja cha utekelezaji uliofichuliwa kama hoja ya usanidi.

Mteja wa mwafaka pia anahitaji njia ya kuelekea jwt-secret ya kiteja cha utekelezaji ili kuthibitisha muunganisho wa RPC kati yao. Sawa na mifano ya utekelezaji hapo juu, kila mteja wa mwafaka ana bendera ya usanidi ambayo inachukua njia ya faili ya tokeni ya jwt kama hoja. Hii lazima ilingane na njia ya jwtsecret iliyotolewa kwa kiteja cha utekelezaji.

Ikiwa unapanga kuendesha mthibitishaji, hakikisha umeongeza bendera ya usanidi inayobainisha anwani ya Ethereum ya mpokeaji ada. Hapa ndipo tuzo za Etha kwa mthibitishaji wako zinapokusanywa. Kila mteja wa mwafaka ana chaguo, k.m., --suggested-fee-recipient=0xabcd1, ambalo huchukua anwani ya Ethereum kama hoja.

Unapoanzisha Nodi ya Kinara kwenye mtandao wa majaribio, unaweza kuokoa muda mwingi wa usawazishaji kwa kutumia mwisho wa umma kwa Usawazishaji wa kituo cha ukaguzi (inafunguka katika kichupo kipya).

Kuendesha mteja wa mwafaka

Kuendesha Lighthouse

Kabla ya kuendesha Lighthouse, jifunze zaidi kuhusu jinsi ya kuisakinisha na kuisanidi katika Kitabu cha Lighthouse (inafunguka katika kichupo kipya).

lighthouse beacon_node \
    --network mainnet \
    --datadir /data/ethereum \
    --http \
    --execution-endpoint http://127.0.0.1:8551 \
    --execution-jwt /path/to/jwtsecret
Kuendesha Lodestar

Sakinisha programu ya Lodestar kwa kuikusanya au kupakua picha ya Docker. Jifunze zaidi katika nyaraka (inafunguka katika kichupo kipya) na mwongozo wa usanidi (inafunguka katika kichupo kipya) wa kina zaidi.

lodestar beacon \
    --dataDir="/data/ethereum" \
    --network=mainnet \
    --eth1.enabled=true \
    --execution.urls="http://127.0.0.1:8551" \
    --jwt-secret="/path/to/jwtsecret"
Kuendesha Nimbus

Nimbus inakuja na wateja wa mwafaka na utekelezaji. Inaweza kuendeshwa kwenye vifaa mbalimbali hata kwa nguvu ndogo sana ya kompyuta. Baada ya kusakinisha vitegemezi na Nimbus yenyewe (inafunguka katika kichupo kipya), unaweza kuendesha mteja wake wa mwafaka:

nimbus_beacon_node \
    --network=mainnet \
    --web3-url=http://127.0.0.1:8551 \
    --rest \
    --jwt-secret="/path/to/jwtsecret"
Kuendesha Prysm

Prysm inakuja na hati ambayo inaruhusu usakinishaji rahisi wa kiotomatiki. Maelezo yanaweza kupatikana katika nyaraka za Prysm (inafunguka katika kichupo kipya).

./prysm.sh beacon-chain \
    --mainnet \
    --datadir /data/ethereum  \
    --execution-endpoint=http://localhost:8551  \
    --jwt-secret=/path/to/jwtsecret
Kuendesha Teku
teku --network mainnet \
    --data-path "/data/ethereum" \
    --ee-endpoint http://localhost:8551 \
    --ee-jwt-secret-file "/path/to/jwtsecret"

Wakati mteja wa mwafaka anapounganisha kwenye kiteja cha utekelezaji kusoma mkataba wa amana na kutambua wathibitishaji, pia huunganisha kwa marika wengine wa Nodi ya Kinara na kuanza kusawazisha nafasi za mwafaka kutoka mwanzo. Mara tu Nodi ya Kinara inapofikia kipindi cha sasa, API ya Kinara inakuwa inatumika kwa wathibitishaji wako. Jifunze zaidi kuhusu API za Nodi ya Kinara (inafunguka katika kichupo kipya).

Kuongeza Wathibitishaji

Mteja wa mwafaka hutumika kama Nodi ya Kinara kwa wathibitishaji kuunganisha. Kila mteja wa mwafaka ana programu yake ya mthibitishaji iliyoelezwa kwa kina katika nyaraka zake husika.

Kuendesha mthibitishaji wako mwenyewe kunaruhusu uwekaji dhamana wa kujitegemea, mbinu yenye athari kubwa na isiyo na hitaji la uaminifu ili kusaidia mtandao wa Ethereum. Hata hivyo, hii inahitaji amana ya ETH 32. Ili kuendesha mthibitishaji kwenye nodi yako mwenyewe kwa kiasi kidogo, bwawa lililogatuliwa na waendeshaji nodi bila ruhusa, kama vile Rocket Pool (inafunguka katika kichupo kipya), linaweza kukuvutia.

Njia rahisi zaidi ya kuanza na uwekaji dhamana na utengenezaji wa ufunguo wa mthibitishaji ni kutumia Staking Launchpad ya Mtandao wa Majaribio wa Hoodi (inafunguka katika kichupo kipya), ambayo inakuruhusu kujaribu usanidi wako kwa kuendesha nodi kwenye Hoodi (inafunguka katika kichupo kipya). Ukiwa tayari kwa Mtandao Mkuu, unaweza kurudia hatua hizi ukitumia Staking Launchpad ya Mtandao Mkuu (inafunguka katika kichupo kipya).

Angalia ukurasa wa uwekaji dhamana kwa muhtasari kuhusu chaguo za uwekaji dhamana.

Kutumia nodi

Viteja vya utekelezaji hutoa miisho ya API ya RPC ambayo unaweza kutumia kuwasilisha miamala, kuingiliana na au kusambaza mikataba mahiri kwenye mtandao wa Ethereum kwa njia mbalimbali:

Viteja tofauti vina utekelezaji tofauti wa miisho ya RPC. Lakini kuna JSON-RPC ya kawaida ambayo unaweza kutumia na kila kiteja. Kwa muhtasari soma nyaraka za JSON-RPC. Programu zinazohitaji taarifa kutoka kwa mtandao wa Ethereum zinaweza kutumia RPC hii. Kwa mfano, mkoba maarufu wa MetaMask hukuruhusu kuunganisha kwenye mwisho wako wa RPC (inafunguka katika kichupo kipya) ambao una faida kubwa za faragha na usalama.

Wateja wote wa mwafaka hufichua API ya Kinara (inafunguka katika kichupo kipya) ambayo inaweza kutumika kuangalia hali ya mteja wa mwafaka au kupakua vitalu na data ya mwafaka kwa kutuma maombi kwa kutumia zana kama vile Curl (inafunguka katika kichupo kipya). Taarifa zaidi kuhusu hili zinaweza kupatikana katika nyaraka za kila mteja wa mwafaka.

Kufikia RPC

Mlango chaguomsingi wa kiteja cha utekelezaji JSON-RPC ni 8545 lakini unaweza kurekebisha milango ya miisho ya ndani kwenye usanidi. Kwa chaguomsingi, kiolesura cha RPC kinaweza kufikiwa tu kwenye localhost ya kompyuta yako. Ili kuifanya ifikike kwa mbali, unaweza kutaka kuifichua kwa umma kwa kubadilisha anwani kuwa 0.0.0.0. Hii itaifanya ifikike kupitia mtandao wa ndani na anwani za IP za umma. Katika hali nyingi utahitaji pia kusanidi usambazaji wa mlango kwenye rota yako.

Fichua milango kwenye mtandao kwa tahadhari kwani hii itamruhusu mtu yeyote kwenye mtandao kudhibiti nodi yako. Watendaji hasidi wanaweza kufikia nodi yako ili kuangusha mfumo wako au kuiba pesa zako ikiwa unatumia kiteja chako kama mkoba.

Njia ya kuepuka hili ni kuzuia mbinu za RPC zinazoweza kudhuru zisirekebishwe. Kwa mfano, ukiwa na Geth, unaweza kutangaza mbinu zinazoweza kurekebishwa kwa bendera: --http.api web3,eth,txpool.

Ufikiaji wa kiolesura cha RPC unaweza kupanuliwa kupitia uundaji wa API za tabaka la ukingo au programu za seva ya wavuti, kama Nginx, na kuziunganisha kwenye anwani ya ndani ya kiteja chako na mlango. Kutumia tabaka la kati kunaweza pia kuruhusu wasanidi programu uwezo wa kusanidi cheti kwa miunganisho salama ya https kwenye kiolesura cha RPC.

Kusanidi seva ya wavuti, proksi, au Rest API inayoangalia nje sio njia pekee ya kutoa ufikiaji wa mwisho wa RPC wa nodi yako. Njia nyingine ya kuhifadhi faragha ya kusanidi mwisho unaoweza kufikiwa na umma ni kupangisha nodi kwenye huduma yako mwenyewe ya kitunguu ya Tor (inafunguka katika kichupo kipya). Hii itakuruhusu kufikia RPC nje ya mtandao wako wa ndani bila anwani thabiti ya IP ya umma au milango iliyofunguliwa. Hata hivyo, kutumia usanidi huu kunaweza kuruhusu tu mwisho wa RPC kufikiwa kupitia mtandao wa Tor ambao hautumiki na programu zote na unaweza kusababisha matatizo ya muunganisho.

Ili kufanya hivi, inabidi uunde huduma yako ya kitunguu (inafunguka katika kichupo kipya). Angalia nyaraka (inafunguka katika kichupo kipya) kwenye usanidi wa huduma ya kitunguu ili kupangisha yako mwenyewe. Unaweza kuielekeza kwenye seva ya wavuti iliyo na proksi kwenye mlango wa RPC au moja kwa moja kwenye RPC.

Mwisho, na mojawapo ya njia maarufu zaidi za kutoa ufikiaji wa mitandao ya ndani ni kupitia muunganisho wa VPN. Kulingana na kesi yako ya utumiaji na wingi wa watumiaji wanaohitaji ufikiaji wa nodi yako, muunganisho salama wa VPN unaweza kuwa chaguo. OpenVPN (inafunguka katika kichupo kipya) ni SSL VPN yenye vipengele kamili ambayo inatekeleza upanuzi wa mtandao salama wa tabaka la 2 au 3 la OSI kwa kutumia itifaki ya kawaida ya sekta ya SSL/TLS, inasaidia mbinu rahisi za uthibitishaji wa kiteja kulingana na vyeti, kadi mahiri, na/au vitambulisho vya jina la mtumiaji/nenosiri, na inaruhusu sera za udhibiti wa ufikiaji mahususi wa mtumiaji au kikundi kwa kutumia sheria za ngome zinazotumika kwenye kiolesura pepe cha VPN.

Kuendesha nodi

Unapaswa kufuatilia nodi yako mara kwa mara ili kuhakikisha inafanya kazi vizuri. Unaweza kuhitaji kufanya matengenezo ya mara kwa mara.

Kuweka nodi mtandaoni

Nodi yako si lazima iwe mtandaoni wakati wote, lakini unapaswa kuiweka mtandaoni kadiri iwezekanavyo ili kuiweka katika usawazishaji na mtandao. Unaweza kuizima ili kuiwasha upya, lakini kumbuka kwamba:

  • Kuzima kunaweza kuchukua dakika chache ikiwa hali ya hivi karibuni bado inaandikwa kwenye diski.
  • Kuzima kwa lazima kunaweza kuharibu hifadhidata na kukuhitaji kusawazisha upya nodi nzima.
  • Kiteja chako kitatoka kwenye usawazishaji na mtandao na kitahitaji kusawazisha upya utakapokiwasha tena. Ingawa nodi inaweza kuanza kusawazisha kuanzia pale ilipozimwa mara ya mwisho, mchakato unaweza kuchukua muda kulingana na muda ambao imekuwa nje ya mtandao.

Hili halitumiki kwa nodi za mthibitishaji za tabaka la mwafaka. Kuondoa nodi yako mtandaoni kutaathiri huduma zote zinazoitegemea. Ikiwa unaendesha nodi kwa madhumuni ya uwekaji dhamana unapaswa kujaribu kupunguza muda wa kupumzika kadiri iwezekanavyo.

Kuunda huduma za kiteja

Fikiria kuunda huduma ili kuendesha viteja vyako kiotomatiki wakati wa kuanzisha. Kwa mfano, kwenye seva za Linux, zoezi zuri litakuwa kuunda huduma, k.m., na systemd, ambayo inatekeleza kiteja kwa usanidi sahihi, chini ya mtumiaji aliye na mapendeleo machache na inajiwasha upya kiotomatiki.

Kusasisha viteja

Unahitaji kusasisha programu yako ya kiteja na viraka vya hivi punde vya usalama, vipengele, na EIPs. Hasa kabla ya migawanyiko migumu, hakikisha unaendesha matoleo sahihi ya kiteja.

Kabla ya masasisho muhimu ya mtandao, EF huchapisha chapisho kwenye blogu (inafunguka katika kichupo kipya) yake. Unaweza kujiandikisha kwa matangazo haya (inafunguka katika kichupo kipya) ili kupata arifa kwenye barua pepe yako wakati nodi yako inahitaji sasisho.

Kusasisha viteja ni rahisi sana. Kila kiteja kina maagizo maalum katika nyaraka zao, lakini mchakato kwa ujumla ni kupakua tu toleo la hivi punde na kuanzisha upya kiteja ukitumia kipengele kipya kinachoweza kutekelezwa. Kiteja kinapaswa kuendelea pale kilipoachia, lakini kikiwa na masasisho yaliyotumika.

Kila utekelezaji wa kiteja una kamba ya toleo inayosomeka na binadamu inayotumiwa katika itifaki ya rika-kwa-rika lakini pia inapatikana kutoka kwa mstari wa amri. Kamba hii ya toleo huwaruhusu watumiaji kuangalia kuwa wanaendesha toleo sahihi na inaruhusu wavumbuzi wa kitalu na zana zingine za uchanganuzi zinazopenda kutathmini usambazaji wa viteja mahususi kwenye mtandao. Tafadhali rejelea nyaraka za kiteja binafsi kwa maelezo zaidi kuhusu kamba za toleo.

Kuendesha huduma za ziada

Kuendesha nodi yako mwenyewe hukuruhusu kutumia huduma zinazohitaji ufikiaji wa moja kwa moja kwa RPC ya kiteja cha Ethereum. Hizi ni huduma zilizojengwa juu ya Ethereum kama suluhu za tabaka la 2 (l2), mazingira ya nyuma ya mikoba, wavumbuzi wa kitalu, zana za wasanidi programu na miundombinu mingine ya Ethereum.

Kufuatilia nodi

Ili kufuatilia ipasavyo nodi yako, fikiria kukusanya vipimo. Viteja hutoa miisho ya vipimo ili uweze kupata data ya kina kuhusu nodi yako. Tumia zana kama InfluxDB (inafunguka katika kichupo kipya) au Prometheus (inafunguka katika kichupo kipya) kuunda hifadhidata ambazo unaweza kugeuza kuwa taswira na chati katika programu kama Grafana (inafunguka katika kichupo kipya). Kuna mipangilio mingi ya kutumia programu hii na dashibodi tofauti za Grafana ili uweze kuona nodi yako na mtandao kwa ujumla. Kwa mfano, angalia mafunzo ya kufuatilia Geth.

Kama sehemu ya ufuatiliaji wako, hakikisha unafuatilia utendakazi wa mashine yako. Wakati wa usawazishaji wa awali wa nodi yako, programu ya kiteja inaweza kuwa nzito sana kwenye CPU na RAM. Mbali na Grafana, unaweza kutumia zana zinazotolewa na OS yako kama htop au uptime kufanya hivi.

Usomaji zaidi