Liv la "Kreye kontra entelijan solidite pou Ethereum blockchain la. Gid pratik"

Liv la "Kreye kontra entelijan solidite pou Ethereum blockchain la. Gid pratik"
Pou plis pase yon ane mwen ap travay sou liv la "Kreye Solidity Smart Contracts for the Ethereum Blockchain. Gid pratik", epi kounye a travay sa a fini, ak liv la pibliye ak disponib nan Litres.

Mwen espere ke liv mwen an pral ede w byen vit kòmanse kreye kontak entelijan Solidity ak distribye DApps pou blockchain Ethereum la. Li konsiste de 12 leson ak travay pratik. Lè w fin ranpli yo, lektè a pral kapab kreye pwòp nœuds Ethereum lokal yo, pibliye kontra entelijan epi rele metòd yo, echanj done ant mond reyèl la ak kontra entelijan lè l sèvi avèk oracles, epi travay ak rezo debug tès Rinkeby.

Liv la adrese a nenpòt moun ki enterese nan teknoloji avanse nan domèn blockchain epi ki vle byen vit jwenn konesans ki pèmèt yo angaje yo nan travay enteresan ak pwomèt.

Anba a ou pral jwenn tab la matyè ak premye chapit liv la (tou sou Litre fragman liv la disponib). Mwen espere resevwa fidbak, kòmantè ak sijesyon. Mwen pral eseye pran tout bagay sa yo an kont lè m ap prepare pwochen edisyon liv la.

Table of ContentsEntwodiksyonLiv nou an fèt pou moun ki vle non sèlman konprann prensip Ethereum blockchain, men tou pou jwenn ladrès pratik nan kreye DApps distribiye nan langaj pwogramasyon Solidity pou rezo sa a.

Li pi bon pa sèlman li liv sa a, men travay avèk li, fè travay pratik ki dekri nan leson yo. Pou travay, w ap bezwen yon òdinatè lokal, sèvè vityèl oswa nwaj ak Debian oswa Ubuntu OS enstale. Ou kapab tou itilize Franbwaz Pi pou fè anpil travay.

Nan premye leson an Nou pral gade prensip fonksyònman Ethereum blockchain ak tèminoloji debaz, epi tou pale sou ki kote blockchain sa a ka itilize.

Objektif dezyèm leson - kreye yon ne prive Ethereum blockchain pou plis travay nan kou sa a sou yon sèvè Ubuntu ak Debian. Nou pral gade nan karakteristik yo nan enstale sèvis piblik debaz yo, tankou geth, ki asire operasyon an nan ne blokaj nou an, osi byen ke demon depo done desantralize swarm la.

Twazyèm leson pral moutre ou ki jan fè eksperyans ak Ethereum sou yon mikwo-odinatè Raspberry Pi ki pa chè. Ou pral enstale sistèm operasyon Rasberian (OS) sou Franbwaz Pi a, sèvis piblik Jeth ki pouvwa ne blokaj la, ak Swarm desantralize demon depo done.

Leson kat se dedye a kont ak inite cryptocurrency sou rezo a Ethereum, osi byen ke fason yo transfere lajan soti nan yon kont nan yon lòt soti nan konsole Jeth la. Ou pral aprann kijan pou kreye kont, kòmanse tranzaksyon transfè lajan, epi jwenn estati tranzaksyon ak resi.

Nan senkyèm leson an Ou pral fè konesans ak kontra entelijan sou rezo a Ethereum epi aprann sou ekzekisyon yo pa machin vityèl Ethereum la.

Ou pral kreye epi pibliye premye kontra entelijan ou sou rezo prive Ethereum epi aprann kijan pou rele fonksyon li yo. Pou fè sa, ou pral sèvi ak Remix Solidity IDE la. Ou pral aprann tou ki jan yo enstale epi sèvi ak du solc pakèt la.
Nou pral pale tou sou sa yo rele aplikasyon binè entèfas (ABI) epi moutre w kouman yo sèvi ak li.

Sizyèm leson se dedye a kreye script JavaScript kouri Node.js ak fè operasyon ak kontra entelijan Solidity.

Ou pral enstale Node.js sou Ubuntu, Debian ak Rasberian OS, ekri scripts pou pibliye yon kontra entelijan sou rezo lokal Ethereum epi rele fonksyon li yo.

Anplis de sa, ou pral aprann ki jan yo transfere lajan ant kont regilye lè l sèvi avèk scripts, osi byen ke kredi yo nan kont kontra entelijan.

Nan setyèm leson an Ou pral aprann kijan pou enstale epi sèvi ak kad Truffle, popilè nan mitan devlopè kontra entelijan Solidity. Ou pral aprann kijan pou kreye script JavaScript ki rele fonksyon kontra lè l sèvi avèk modil kontra trufyè a, epi teste kontra entelijan ou a lè l sèvi avèk Truffle.

Wityèm leson dedye a kalite done Solidity. Ou pral ekri kontra entelijan ki travay ak kalite done tankou nonm antye siyen ak non siyen, nimewo siyen, fisèl, adrès, varyab konplèks, etalaj, enimerasyon, estrikti, ak diksyonè.

Nan nevyèm leson an Ou pral yon etap pi pre pou kreye kontra entelijan pou Ethereum mainnet la. Ou pral aprann ki jan yo pibliye kontra lè l sèvi avèk Truffle sou rezo prive Geth la, osi byen ke sou tèsnet Rinkeby la. Debogaj yon kontra entelijan sou rezo Rinkeby a trè itil anvan ou pibliye l sou rezo prensipal la - prèske tout bagay reyèl la, men pou gratis.

Kòm yon pati nan leson an, ou pral kreye yon ne tès rezo Rinkeby, finanse li ak lajan, epi pibliye yon kontra entelijan.

Leson 10 dedye a Ethereum Swarm distribye depo done. Lè w itilize depo distribiye, ou ekonomize sou estoke gwo kantite done sou blòk Ethereum la.

Nan leson patikilye sa a, ou pral kreye yon depo Swarm lokal, ekri ak li operasyon sou dosye, ak anyè dosye. Apre sa, ou pral aprann kijan pou travay ak pòtay Swarm piblik la, ekri scripts pou jwenn aksè nan Swarm nan Node.js, epitou w ap itilize modil Perl Net::Ethereum::Swarm.

Objektif leson 11 — mèt travay ak kontra entelijan Solidity lè l sèvi avèk langaj pwogramasyon popilè Python ak kad Web3.py. Ou pral enstale fondasyon an, ekri scripts pou konpile ak pibliye kontra entelijan an, epi rele fonksyon li yo. Nan ka sa a, Web3.py yo pral itilize tou de pou kont li yo ak nan konjonksyon avèk anviwònman an devlopman entegre Truffle.

Nan leson 12 ou pral aprann transfere done ant kontra entelijan ak mond reyèl la lè l sèvi avèk oracles. Sa a pral itil pou w resevwa done ki soti nan sit entènèt, aparèy IoT, divès aparèy ak detèktè, epi voye done ki soti nan kontra entelijan nan aparèy sa yo. Nan pati pratik nan leson an, ou pral kreye yon Oracle ak yon kontra entelijan ki resevwa pousantaj dechanj aktyèl la ant USD ak rubles nan sit entènèt Bank Santral Federasyon Larisi la.

Leson 1. Yon ti tan sou blockchain la ak rezo Ethereum laObjektif leson an: fè konesans ak prensip fonksyònman Ethereum blockchain, domèn aplikasyon li yo ak tèminoloji debaz yo.
Travay pratik: pa enkli nan leson sa a.

Gen diman yon devlopè lojisyèl jodi a ki pa tande anyen sou teknoloji blòk (Blockchain), kriptografik (Cryptocurrency oswa Crypto Currency), Bitcoin (Bitcoin), premye ofrann pyès monnen (ICO, Premye ofrann pyès monnen), kontra entelijan (Smart Contract), osi byen ke lòt konsèp ak tèm ki gen rapò ak blockchain.

Teknoloji Blockchain ouvri nouvo mache epi kreye travay pou pwogramè yo. Si ou konprann tout sibtilite ki genyen nan teknoloji cryptocurrency ak teknoloji kontra entelijan, Lè sa a, ou pa ta dwe gen pwoblèm pou aplike konesans sa a nan pratik.

Li dwe di ke gen yon anpil nan espekilasyon alantou cryptocurrencies ak blockchains. Nou pral kite diskisyon sou kote sou chanjman nan to cryptocurrency, kreyasyon an piramid, sibtilite yo nan lejislasyon cryptocurrency, elatriye. Nan kou fòmasyon nou an, nou pral konsantre sitou sou aspè teknik aplikasyon an nan kontra entelijan nan Ethereum blockchain la (Ethereum, Etè) ak devlopman nan sa yo rele aplikasyon desantralize (Aplikasyon distribye, DApp).

Ki sa ki blockchain

Blockchain (Block Chain) se yon chèn nan blòk done ki konekte youn ak lòt nan yon sèten fason. Nan kòmansman chèn lan gen premye blòk la, ki rele blòk prensipal (blòk jenèz) oswa blòk jenèz la. Li swiv pa dezyèm lan, Lè sa a, twazyèm lan ak sou sa.

Tout blòk done sa yo otomatikman kopi sou nœuds anpil nan rezo blockchain la. Sa a asire depo desantralize nan done blòk.
Ou ka panse a yon sistèm blockchain kòm yon gwo kantite nœuds (sèvè fizik oswa vityèl) ki konekte nan yon rezo epi repwodui tout chanjman nan chèn blòk done yo. Sa a se tankou yon òdinatè jeyan milti-sèvè, ak nœuds yo nan yon òdinatè (sèvè) ka gaye nan tout mond lan. Epi ou menm tou ou ka ajoute òdinatè w lan nan rezo blockchain la.

Distribiye baz done

Yon blockchain ka konsidere kòm yon baz done distribye ki repwodwi atravè tout nœuds nan rezo blockchain la. Nan teyori, blockchain a pral operasyonèl osi lontan ke omwen yon ne ap travay, estoke tout blòk yo nan blockchain la.

Rejis Done Distribiye

Blockchain ka konsidere kòm yon Ledger distribiye nan done ak operasyon (tranzaksyon). Yon lòt non pou yon rejis konsa se yon Ledger.

Done yo ka ajoute nan yon Ledger distribye, men li pa ka chanje oswa efase. Sa a se enposib reyalize, an patikilye, pa itilize nan algoritm kriptografik, algoritm espesyal pou ajoute blòk nan chèn lan ak depo done desantralize.

Lè w ajoute blòk ak fè operasyon (tranzaksyon), yo itilize kle prive ak piblik. Yo mete restriksyon sou itilizatè blockchain sèlman lè yo ba yo aksè a pwòp blòk done yo.

Tranzaksyon yo

Blockchain magazen enfòmasyon sou operasyon (tranzaksyon) nan blòk yo. An menm tan an, ansyen tranzaksyon ki deja fini yo pa ka refè oswa chanje. Nouvo tranzaksyon yo estoke nan nouvo blòk ajoute.

Nan fason sa a, tout istwa tranzaksyon an ka anrejistre san okenn chanjman sou blockchain la. Se poutèt sa, blockchain ka itilize, pou egzanp, nan magazen an sekirite tranzaksyon bankè yo, enfòmasyon copyright, istwa chanjman nan pwopriyetè pwopriyete, elatriye.

Blockchain Ethereum a gen sa yo rele eta sistèm yo. Kòm tranzaksyon yo egzekite, eta a chanje soti nan eta inisyal la nan eta aktyèl la. Tranzaksyon yo anrejistre nan blòk.

Blockchains piblik ak prive

Li ta dwe remake isit la ke tout bagay di se vre sèlman pou sa yo rele rezo piblik blockchain, ki pa ka kontwole pa nenpòt moun oswa antite legal, ajans gouvènman oswa gouvènman an.
Sa yo rele rezo blockchain prive yo anba kontwòl konplè kreyatè yo, e anyen posib la, pou egzanp, yon ranplasman konplè nan tout blòk nan chèn lan.

Aplikasyon pratik nan blockchain

Ki sa blockchain ka itil?

Nan ti bout tan, blockchain pèmèt ou byen fè tranzaksyon (tranzaksyon) ant moun oswa konpayi ki pa fè konfyans youn ak lòt. Done ki anrejistre nan blockchain a (tranzaksyon, done pèsonèl, dokiman, sètifika, kontra, fakti, elatriye) pa ka fo oswa ranplase apre anrejistreman. Se poutèt sa, ki baze sou blockchain a, li posib yo kreye, pou egzanp, fè konfyans distribiye rejis divès kalite dokiman.

Natirèlman, ou konnen ke sistèm kriptografik yo te kreye sou baz blòk, ki fèt pou ranplase lajan papye òdinè. Papye lajan yo rele tou fiat (ki soti nan Fiat Money).
Blockchain asire depo ak imuabilite tranzaksyon ki anrejistre nan blòk, se poutèt sa li ka itilize pou kreye sistèm kriptografik lajan. Li genyen tout istwa transfè lajan kript ant itilizatè diferan (kont), epi yo ka swiv nenpòt operasyon.

Malgre ke tranzaksyon nan sistèm kriptografik yo ka anonim, retire kriptografik lajan ak echanj li pou lajan fiat anjeneral rezilta nan revele idantite pwopriyetè a nan byen kriptografik lajan an.

Sa yo rele kontra entelijan, ki se lojisyèl ki kouri sou rezo Ethereum, pèmèt ou otomatize pwosesis pou konkli tranzaksyon yo ak kontwole aplikasyon yo. Sa a se espesyalman efikas si peman pou tranzaksyon an fèt lè l sèvi avèk lajan kript Ether la.

Ethereum blockchain ak kontra entelijan Ethereum ekri nan langaj pwogramasyon Solidity ka itilize, pou egzanp, nan domèn sa yo:

  • yon altènativ a notarye dokiman yo;
  • depo yon rejis nan objè byen imobilye ak enfòmasyon sou tranzaksyon ak objè byen imobilye;
  • depo enfòmasyon sou copyright sou pwopriyete entelektyèl (liv, imaj, zèv mizik, elatriye);
  • kreyasyon sistèm vòt endepandan;
  • finans ak bank;
  • lojistik sou yon echèl entènasyonal, swiv mouvman an nan machandiz;
  • depo done pèsonèl kòm yon analogue ak yon sistèm kat idantite;
  • tranzaksyon an sekirite nan domèn komèsyal la;
  • estoke rezilta egzamen medikal yo, osi byen ke istwa pwosedi preskri yo

Pwoblèm ak blockchain

Men, nan kou, se pa tout bagay ki senp tankou li ta ka sanble!

Gen pwoblèm ak verifye done anvan yo ajoute yo nan blockchain la (pa egzanp, èske yo fo?), pwoblèm ak sekirite nan sistèm ak lojisyèl aplikasyon yo itilize pou travay ak blòk la, pwoblèm ak posiblite pou itilize metòd jeni sosyal yo vòlè aksè. nan bous cryptocurrency, elatriye .P.

Yon fwa ankò, si nou pa pale de yon blockchain piblik, nœuds yo gaye nan tout mond lan, men sou yon blockchain prive ki fè pati yon moun oswa yon òganizasyon, Lè sa a, nivo konfyans isit la pa pral pi wo pase nivo konfyans. nan moun sa a oswa òganizasyon sa a.

Li ta dwe tou pran an kont ke done yo anrejistre nan blockchain la vin disponib pou tout moun. Nan sans sa a, blockchain (sitou piblik) pa apwopriye pou estoke enfòmasyon konfidansyèl. Sepandan, lefèt ke enfòmasyon sou blockchain a pa ka chanje ka ede anpeche oswa mennen ankèt sou divès kalite aktivite fwod.

Aplikasyon desantralize Ethereum yo pral pratik si ou peye pou itilize yo ak lajan kript. Plis moun ki posede lajan kript oswa ki vle achte li, DApps yo ak kontra entelijan yo ap vin pi popilè.

Pwoblèm komen ak blockchain ki anpeche aplikasyon pratik li yo gen ladan vitès limite nan ki nouvo blòk yo ka ajoute ak pri a relativman wo nan tranzaksyon yo. Men, teknoloji nan zòn sa a ap devlope aktivman, e gen espwa ke pwoblèm teknik yo pral rezoud sou tan.

Yon lòt pwoblèm se ke kontra entelijan sou blockchain Ethereum opere nan yon anviwònman izole nan machin vityèl, epi yo pa gen aksè a done mond reyèl la. An patikilye, pwogram nan kontra entelijan pa ka li done ki soti nan sit oswa nenpòt aparèy fizik (detèktè, kontak, elatriye), epi tou li pa ka bay done nan nenpòt aparèy ekstèn. Nou pral diskite sou pwoblèm sa a ak fason yo rezoud li nan yon leson konsakre nan sa yo rele Oracles - enfòmasyon entèmedyè nan kontra entelijan.

Genyen tou restriksyon legal. Nan kèk peyi, pou egzanp, li entèdi pou itilize lajan kript kòm yon mwayen pou peman, men ou ka posede li kòm yon kalite avantaj dijital, tankou sekirite. Byen sa yo ka achte ak vann sou echanj la. Nan nenpòt ka, lè w ap kreye yon pwojè ki travay ak kriptografik lajan, ou bezwen familyarize w ak lejislasyon peyi a ki anba jiridiksyon pwojè ou a tonbe.

Ki jan yon chèn blòk fòme

Kòm nou te deja di, blockchain se yon chèn senp nan blòk done. Premyèman, se premye blòk la nan chèn sa a fòme, Lè sa a, dezyèm lan ajoute nan li, ak sou sa. Done tranzaksyon yo sipoze yo estoke nan blòk, epi yo ajoute nan blòk ki pi resan an.

Nan Fig. 1.1 nou te montre vèsyon ki pi senp nan yon sekans blòk, kote premye blòk la refere a pwochen an.

Liv la "Kreye kontra entelijan solidite pou Ethereum blockchain la. Gid pratik"
Diri. 1.1. Senp sekans blòk yo

Avèk opsyon sa a, sepandan, li trè fasil pou manyen sa ki nan nenpòt blòk nan chèn nan, paske blòk yo pa genyen okenn enfòmasyon pou pwoteje kont chanjman. Lè nou konsidere ke blòk la gen entansyon itilize pa moun ak konpayi ant ki pa gen konfyans, nou ka konkli ke metòd sa a nan estoke done pa apwopriye pou blòk la.

Ann kòmanse pwoteje blòk kont kontrefè. Nan premye etap la, nou pral eseye pwoteje chak blòk ak yon checksum (figi 1.2).

Liv la "Kreye kontra entelijan solidite pou Ethereum blockchain la. Gid pratik"
Diri. 1.2. Ajoute pwoteksyon pou blòk sa yo ak yon sòm chèk

Koulye a, yon atakè pa ka tou senpleman chanje blòk la, paske li gen sòm chèk la nan done yo blòk. Tcheke sòm chèk la pral montre ke done yo te chanje.

Pou kalkile sòm chèk la, ou ka itilize youn nan fonksyon hachaj tankou MD-5, SHA-1, SHA-256, elatriye. Fonksyon hash kalkile yon valè (pa egzanp, yon seri tèks ki gen longè konstan) lè yo fè operasyon irevokabl sou yon blòk done. Operasyon yo depann sou kalite fonksyon hash.

Menm si sa ki nan blòk done a chanje yon ti kras, valè hash la pral chanje tou. Lè w analize valè fonksyon hash la, li enposib pou rekonstwi blòk done pou li te kalkile a.

Èske pwoteksyon sa a ap ase? Malerezman non.

Nan konplo sa a, checksum la (fonksyon hash) sèlman pwoteje blòk endividyèl, men se pa blòk an antye. Konnen algorithm pou kalkile fonksyon hash la, yon atakè ka byen fasil ranplase sa ki nan yon blòk. Epitou, pa gen anyen ki pral anpeche l retire blòk nan chèn lan oswa ajoute lòt.

Pou pwoteje chèn an antye kòm yon antye, ou ka tou magazen nan chak blòk, ansanm ak done yo, yon hash nan done ki soti nan blòk anvan an (figi 1.3).

Liv la "Kreye kontra entelijan solidite pou Ethereum blockchain la. Gid pratik"
Diri. 1.3. Ajoute hash nan blòk anvan an nan blòk done a

Nan konplo sa a, yo nan lòd yo chanje yon blòk, ou bezwen rekalkile fonksyon yo hash nan tout blòk ki vin apre yo. Li ta sanble, ki pwoblèm nan?

Nan blockchains reyèl, difikilte atifisyèl yo kreye anplis pou ajoute nouvo blòk-yo itilize algoritm ki mande anpil resous enfòmatik. Lè ou konsidere ke yo nan lòd yo fè chanjman nan yon blòk, ou bezwen rekalkile pa sèlman yon blòk sa a, men tout sa ki vin apre yo, sa a pral trè difisil fè.

Se pou nou sonje tou ke done blòk yo estoke (diplike) sou nœuds rezo anpil, i.e. Yo itilize depo desantralize. Lè sa a fè li pi difisil pou fo yon blòk, paske chanjman yo dwe fèt nan tout nœuds rezo yo.

Depi blòk magazen enfòmasyon sou blòk anvan an, li posib pou tcheke sa ki nan tout blòk nan chèn lan.

Ethereum blockchain

Blockchain nan Ethereum se yon platfòm sou ki distribiye DApps ka kreye. Kontrèman ak lòt platfòm, Ethereum pèmèt itilizasyon sa yo rele kontra entelijan (kontra entelijan), ekri nan langaj pwogram Solidity.

Platfòm sa a te kreye an 2013 pa Vitalik Buterin, fondatè Bitcoin Magazine, e li te lanse an 2015. Tout sa nou pral etidye oswa fè nan kou fòmasyon nou an gen rapò espesyalman ak Ethereum blockchain ak kontra entelijan Solidity.

Mining oswa ki jan blòk yo kreye

Mining se yon pwosesis olye konplèks ak resous entansif pou ajoute nouvo blòk nan chèn blòk la, epi yo pa ditou "min kriptografik". Mining asire fonksyonalite blockchain a, paske li se pwosesis sa a ki responsab pou ajoute tranzaksyon nan Ethereum blockchain la.

Moun ak òganizasyon ki enplike nan ajoute blòk yo rele minè.
Lojisyèl ki kouri sou nœuds minè yo ap eseye jwenn yon paramèt hachaj ki rele Nonce pou dènye blòk la pou jwenn yon valè espesifik rezo a espesifye. Algorithm hashing Ethash yo itilize nan Ethereum pèmèt ou jwenn valè Nonce sèlman atravè rechèch sekans.

Si ne minè a jwenn valè Nonce ki kòrèk la, Lè sa a, sa a se sa yo rele prèv travay la (PoW, Proof-of-work). Nan ka sa a, si yo ajoute yon blòk nan rezo a Ethereum, minè a resevwa yon rekonpans sèten nan lajan rezo a - Etè. Nan moman sa a nan ekri a, rekonpans la se 5 Etè, men sa a pral redwi sou tan.

Kidonk, minè Ethereum asire operasyon rezo a lè yo ajoute blòk, epi resevwa lajan kript pou sa. Ou pral jwenn anpil enfòmasyon sou entènèt la sou minè ak min, men nou pral konsantre sou kreye kontra Solidity ak DApps sou rezo Ethereum.

Rezime leson an

Nan premye leson an, ou te fè konesans ak blòk la epi ou te aprann ke li se yon sekans ki konpoze espesyalman nan blòk. Sa ki nan blòk anrejistre deja pa ka chanje, paske sa ta mande pou rekalkile tout blòk ki vin apre yo sou anpil nœuds rezo, ki mande anpil resous ak tan.

Blockchain ka itilize pou estoke rezilta tranzaksyon yo. Objektif prensipal li se òganize tranzaksyon an sekirite ant pati yo (moun ak òganizasyon) ant moun ki pa gen konfyans. Ou te aprann nan ki domèn espesifik nan biznis ak nan ki zòn blòk Ethereum ak kontra entelijan Solidity yo ka itilize. Sa a se sektè bankè a, anrejistreman dwa pwopriyete, dokiman, elatriye.

Ou te aprann tou ke divès pwoblèm ka leve lè w ap itilize blockchain. Sa yo se pwoblèm nan verifye enfòmasyon ki ajoute nan blòk la, vitès la nan blòk la, pri a nan tranzaksyon yo, pwoblèm nan nan echanj done ant kontra entelijan ak mond reyèl la, osi byen ke atak potansyèl pa atakè ki vize a vòlè lajan kriptografik nan kont itilizatè. .

Nou te pale tou yon ti tan sou min kòm pwosesis pou ajoute nouvo blòk nan blockchain la. Mining nesesè pou konplete tranzaksyon yo. Moun ki enplike nan min asire fonksyone blockchain a epi resevwa yon rekonpans nan lajan kript pou sa.

Leson 2. Prepare yon anviwònman k ap travay nan Ubuntu ak Debian OSChwazi yon sistèm opere
Enstale sèvis piblik ki nesesè yo
Enstale Geth ak Swarm sou Ubuntu
Enstale Geth ak Swarm sou Debian
Preparasyon preliminè
Telechaje distribisyon Go
Mete varyab anviwònman an
Tcheke vèsyon an Go
Enstale Get ak Swarm
Kreye yon blockchain prive
Prepare fichye genesis.json la
Kreye yon anyè pou travay
Kreye yon kont
Kòmanse inisyalizasyon ne
Opsyon Lanse ne
Konekte nan ne nou an
Jesyon min ak chèk balans
Fèmen konsole Geth la
Rezime leson an

Leson 3. Prepare anviwònman k ap travay sou Raspberry Pi 3Prepare Raspberry Pi 3 a pou travay
Enstale Rasberian
Enstale mizajou
Pèmèt Aksè SSH
Mete yon adrès IP estatik
Enstale sèvis piblik ki nesesè yo
Enstale Go
Telechaje distribisyon Go
Mete varyab anviwònman an
Tcheke vèsyon an Go
Enstale Get ak Swarm
Kreye yon blockchain prive
Tcheke kont ou ak balans ou
Rezime leson an

Leson 4. Kont ak transfè lajan ant kont yoGade epi ajoute kont yo
Gade yon lis kont yo
Ajoute yon kont
opsyon lòd geth kont
Modpas kont
Cryptocurrency nan Ethereum
Inite Lajan Ethereum
Nou detèmine balans aktyèl la nan kont nou yo
Transfere lajan nan yon kont nan yon lòt
eth.sendTransaction metòd
Gade estati tranzaksyon yo
resi tranzaksyon
Rezime leson an

Leson 5. Pibliye premye kontra ouKontra entelijan nan Ethereum
Egzekisyon kontra entelijan
Ethereum Virtual Machine
Anviwònman devlopman entegre Remix Solidity IDE
Kouri konpilasyon
Rele Fonksyon Kontra
Pibliye yon kontra sou yon rezo prive
Jwenn definisyon ABI ak kòd binè kontra a
Piblikasyon kontra a
Tcheke kontra a pibliye estati tranzaksyon yo
Rele Fonksyon Kontra
Pakèt du solc
Enstale solc sou Ubuntu
Enstale solc sou Debian
Konpile kontra HelloSol la
Piblikasyon kontra a
Enstale solc sou Rasberian
Rezime leson an

Leson 6. Kontra entelijan ak Node.jsEnstale Node.js
Enstalasyon sou Ubuntu
Enstalasyon sou Debian
Enstale ak kouri Ganache-cli
Enstalasyon Web3
Enstale solc
Enstale Node.js sou Rasberian
Script pou jwenn yon lis kont nan konsole a
Script pou pibliye yon kontra entelijan
Lanse epi jwenn paramèt
Jwenn opsyon lansman
Konpilasyon kontra
Debloke kont ou
Loading ABI ak kontra binè kòd
Estime kantite gaz ki nesesè yo
Kreye yon objè epi kòmanse pibliye yon kontra
Kouri script piblikasyon kontra a
Rele fonksyon kontra entelijan
Èske li posib mete ajou yon kontra entelijan pibliye?
Travay ak Web3 vèsyon 1.0.x
Jwenn yon lis kont
Piblikasyon kontra a
Rele Fonksyon Kontra
Transfere lajan nan yon kont nan yon lòt
Transfere lajan nan kont kontra a
Mete ajou kontra entelijan HelloSol la
Kreye yon script pou wè balans kont ou
Ajoute yon apèl nan fonksyon getBalance nan script call_contract_get_promise.js
Nou monte kont kontra entelijan an
Rezime leson an

Leson 7. Entwodiksyon nan TruffleEnstale Truffle
Kreye yon pwojè HelloSol
Kreye Anyè Pwojè ak Fichye yo
Anyè kontra yo
Katalòg migrasyon yo
Anyè tès
fichye truffle-config.js
Konpile kontra HelloSol la
Kòmanse pibliye yon kontra
Rele Fonksyon Kontra HelloSol nan yon èd truffle
Rele fonksyon kontra HelloSol soti nan yon script JavaScript kouri Node.js
Enstale modil la truffle-kontra
Rele fonksyon kontra yo getValue ak getString
Rele fonksyon kontra setValue ak setString
Modifikasyon kontra ak re-piblikasyon
Travay ak Web3 vèsyon 1.0.x
Fè chanjman nan kontra entelijan HelloSol la
Scripts pou rele metòd kontra
Tès nan trufyèr
Tès solidite
Tès JavaScript
Rezime leson an

Leson 8. Kalite Done SoliditeKontra pou aprann kalite done
Kalite done booleyen
Nonm antye ki pa siyen ak nonm antye ki siyen
Nimewo pwen fiks yo
Adrès
Varyab nan kalite konplèks
Etalaj gwosè fiks
Etalaj dinamik
Enumerasyon
Estrikti
Diksyonè kat jeyografik
Rezime leson an

Leson 9. Migrasyon kontra yo nan rezo prive a ak nan rezo Rinkeby aPibliye yon kontra soti nan Truffle nan rezo prive Geth
Prepare yon ne rezo prive
Prepare yon kontra pou travay
Konpile ak imigre yon kontra nan rezo Truffle a
Kòmanse migrasyon rezo lokal geth
Jwenn zafè Truffle
Pibliye yon kontra soti nan Truffle nan tèsnet Rinkeby la
Prepare yon ne Geth pou travay ak Rinkeby
Ne senkronizasyon
Ajoute kont
Ranpli kont Rinkeby ou a ak etè
Lanse kontra migrasyon nan rezo Rinkeby a
Wè enfòmasyon sou kontra sou rezo Rinkeby a
Truffle konsole pou rezo Rinkeby
Pi fasil fason yo rele fonksyon kontra
Rele metòd kontra lè l sèvi avèk Node.js
Transfere lajan ant kont nan konsole Truffle pou Rinkby
Rezime leson an

Leson 10. Ethereum Swarm Desantralize Done DepoKi jan Ethereum Swarm travay?
Enstale ak lanse Swarm
Operasyon ak dosye ak anyè
Téléchargement yon fichye pou Ethereum Swarm
Lekti yon dosye ki soti nan Ethereum Swarm
Gade manifest yon dosye ki telechaje
Chaje repèrtwar ak sous-répertoires
Lekti yon dosye ki soti nan yon anyè telechaje
Sèvi ak yon pòtay Swarm piblik
Aksè Swarm soti nan scripts Node.js
Perl Net::Ethereum::Modil Swarm
Enstale Modil Net::Ethereum::Swarm
Ekri ak lekti done
Rezime leson an

Leson 11. Web3.py kad pou travay ak Ethereum nan PythonEnstale Web3.py
Mete ajou ak enstale pakè ki nesesè yo
Enstale modil easysolc la
Pibliye yon kontra lè l sèvi avèk Web3.py
Konpilasyon kontra
Konekte ak yon founisè
Egzekite piblikasyon kontra
Sove adrès kontra a ak abi nan yon dosye
Kouri script piblikasyon kontra a
Rele Metòd Kontra
Lekti adrès ak abi yon kontra ki soti nan yon dosye JSON
Konekte ak yon founisè
Kreye yon objè kontra
Rele Metòd Kontra
Truffle ak Web3.py
Rezime leson an

Leson 12. OraclesÈske yon kontra entelijan ka fè konfyans done ki soti nan mond lan deyò?
Oracles kòm entèmedyè enfòmasyon blockchain
Done sous
Kòd pou reprezante done ki soti nan sous
Oracle pou anrejistre echanj pousantaj lajan an nan blockchain la
USDRateOracle Kontra
Mete ajou echanj pousantaj lajan an nan yon kontra entelijan
Sèvi ak yon founisè Web Socket
Ap tann evènman RateUpdate
Jere evènman RateUpdate la
Kòmanse yon aktyalizasyon done nan yon kontra entelijan
Rezime leson an

Sous: www.habr.com

Add nouvo kòmantè