Buka ea "Creating Solidity smart contracts for Ethereum blockchain. Tataiso e sebetsang"

Buka ea "Creating Solidity smart contracts for Ethereum blockchain. Tataiso e sebetsang"
Ka nako e fetang selemo ke ntse ke sebetsa bukeng ea "Creating Solidity Smart Contracts bakeng sa Ethereum Blockchain. Tataiso e sebetsang", 'me joale mosebetsi ona o phethiloe, le buka e hatisitsoeng mme e fumaneha ka Lithara.

Ke tšepa hore buka ea ka e tla u thusa ho qala ka potlako ho theha metsoalle e bohlale ea Solidity le ho aba DApps bakeng sa Ethereum blockchain. E na le lithuto tse 12 tse nang le mesebetsi e sebetsang. Ha a se a li qetile, 'mali o tla khona ho iketsetsa li-node tsa Ethereum tsa sebaka sa habo bona, ho phatlalatsa likonteraka tse bohlale le ho bitsa mekhoa ea bona, ho fapanyetsana data pakeng tsa lefats'e la sebele le likonteraka tse bohlale tse sebelisang li-oracles, le ho sebetsa le Rinkeby test debug network.

Buka ena e lebisitsoe ho bohle ba thahasellang theknoloji e tsoetseng pele tšimong ea li-blockchains 'me ba batla ho fumana kapele tsebo e ba lumellang ho etsa mosebetsi o thahasellisang le o tšepisang.

Ka tlase u tla fumana lethathamo la likahare le khaolo ea pele ea buka (hape Litrese likhechana tsa buka li teng). Ke tšepa ho fumana maikutlo, maikutlo le litlhahiso. Ke tla leka ho ela sena sohle hloko ha ke lokisetsa khatiso e latelang ea buka.

Lethathamo la tse kahareSelelekelaBuka ea rona e reretsoe ba sa batleng ho utloisisa melao-motheo ea Ethereum blockchain feela, empa hape le ho fumana tsebo e sebetsang ea ho theha DApps e ajoang ka puo ea lenaneo la Solidity bakeng sa marang-rang ena.

Ho molemo ho se bale buka ena feela, empa ho sebetsa le eona, ho etsa mesebetsi e sebetsang e hlalositsoeng lithutong. Ho sebetsa, o tla hloka komporo ea lehae, seva ea sebele kapa ea leru e kentsoeng Debian kapa Ubuntu OS. U ka sebelisa Raspberry Pi ho etsa mesebetsi e mengata.

Thutong ea pele Re tla sheba melao-motheo ea ts'ebetso ea Ethereum blockchain le mantsoe a motheo, hape re bue ka moo thibela ena e ka sebelisoang teng.

Sepheo thuto ea bobeli - theha node ea poraefete ea Ethereum blockchain bakeng sa mosebetsi o eketsehileng ka har'a thupelo ena ho seva sa Ubuntu le Debian. Re tla sheba likarolo tsa ho kenya lits'ebeletso tsa mantlha, joalo ka geth, e netefatsang ts'ebetso ea node ea rona ea blockchain, hammoho le daemon ea polokelo ea data e arolelanoang.

Thuto ea boraro e tla u ruta mokhoa oa ho etsa liteko ka Ethereum ka Raspberry Pi microcomputer e theko e tlaase. U tla kenya sistimi ea ts'ebetso ea Rasberian (OS) ho Raspberry Pi, sesebelisoa sa Geth se matlafatsang node ea blockchain, le daemon ea polokelo ea data ea Swarm.

Thuto ea bone e nehetsoe ho li-account le li-cryptocurrency diyuniti ho marang-rang a Ethereum, hammoho le litsela tsa ho fetisetsa chelete ho tloha akhaonteng e 'ngoe ho ea ho e' ngoe ho tloha ho Geth console. U tla ithuta ho theha liak'haonte, ho qala phetisetso ea letlole, le ho fumana boemo ba transaction le risiti.

Thutong ea bohlano U tla tloaelana le likonteraka tse bohlale ho marang-rang a Ethereum 'me u ithute ka ho bolaoa ha bona ke mochine oa sebele oa Ethereum.

U tla theha le ho phatlalatsa konteraka ea hau ea pele e bohlale ho marang-rang a poraefete ea Ethereum mme u ithute ho bitsa mesebetsi ea eona. Ho etsa sena, o tla sebelisa Remix Solidity IDE. U tla ithuta ho kenya le ho sebelisa komporo ea solc batch.
Re tla boela re bue ka se bitsoang Application Binary Interface (ABI) mme re u rute mokhoa oa ho se sebelisa.

Thuto ea botšelela e ikemiselitse ho theha litokomane tsa JavaScript tse sebelisang Node.js le ho etsa ts'ebetso ka likonteraka tse bohlale tsa Solidity.

U tla kenya Node.js ho Ubuntu, Debian le Rasberian OS, ngola mangolo ho phatlalatsa konteraka e bohlale ho marang-rang a sebaka sa Ethereum le ho bitsa mesebetsi ea eona.

Ntle le moo, o tla ithuta mokhoa oa ho fetisetsa chelete lipakeng tsa li-account tse tloaelehileng o sebelisa lingoloa, hammoho le ho li kolota ho li-account tsa konteraka tse bohlale.

Thutong ea bosupa U tla ithuta ho kenya le ho sebelisa moralo oa Truffle, o tsebahalang har'a baetsi ba likonteraka ba bohlale ba Solidity. U tla ithuta ho etsa litokomane tsa JavaScript tse bitsang tšebetso ea konteraka u sebelisa truffle-contract module, 'me u leke konteraka ea hau e bohlale u sebelisa Truffle.

Thuto ea borobeli e inehetseng ho mefuta ea data ea Solidity. U tla ngola likonteraka tse bohlale tse sebetsang ka mefuta ea data joalo ka linomoro tse saennoeng le tse sa saenneng, linomoro tse saennoeng, likhoele, liaterese, mefuta e rarahaneng, lihlopha, lipalo, meaho le lidikishinari.

Thutong ea borobong U tla ba mohato o le mong haufi le ho theha likonteraka tse bohlale bakeng sa mainnet ea Ethereum. U tla ithuta ho phatlalatsa likonteraka u sebelisa Truffle ho marang-rang a ikemetseng a Geth, hammoho le ho Rinkeby testnet. Ho senya konteraka e bohlale ho marang-rang a Rinkeby ho molemo haholo pele o e phatlalatsa marang-rang a maholo - hoo e batlang e le ntho e 'ngoe le e' ngoe e teng moo, empa mahala.

E le karolo ea thuto, u tla theha node ea marang-rang ea teko ea Rinkeby, u e lefelle ka lichelete, 'me u phatlalatse konteraka e bohlale.

Thuto 10 e inehetseng ho Ethereum Swarm e ajoang polokelo ea data. Ka ho sebelisa polokelo e ajoang, u boloka ka ho boloka boitsebiso bo bongata ho Ethereum blockchain.

Thutong ena, o tla theha polokelo ea lehae ea Swarm, ho ngola le ho bala lits'ebetso ho lifaele, le li-directory tsa lifaele. Ka mor'a moo, u tla ithuta mokhoa oa ho sebetsa le "Swarm gateway" ea sechaba, ho ngola mangolo ho fihlella Swarm ho tloha Node.js, hammoho le ho sebelisa Perl Net ::Ethereum::Swarm module.

Sepheo sa Thuto ea 11 - setsebi sa ho sebetsa ka likonteraka tse bohlale tsa Solidity a sebelisa puo e tsebahalang ea Python le moralo oa Web3.py. O tla kenya moralo, o ngole mengolo ho bokella le ho phatlalatsa konteraka e bohlale, le ho letsetsa mesebetsi ea eona. Tabeng ena, Web3.py e tla sebelisoa ka bobeli le ka kopanelo le tikoloho ea ntlafatso e kopanetsoeng ea Truffle.

Thutong ea 12 u tla ithuta ho fetisetsa data pakeng tsa likonteraka tse bohlale le lefats'e la sebele u sebelisa li-oracle. Sena se tla u thusa ho fumana lintlha tse tsoang Liwebosaeteng, lisebelisoa tsa IoT, lisebelisoa tse fapaneng le li-sensor, le ho romella lintlha ho tsoa ho likonteraka tse bohlale ho ea ho lisebelisoa tsena. Karolong e sebetsang ea thuto, o tla theha oracle le konteraka e bohlale e amohelang sekhahla sa phapanyetsano pakeng tsa USD le li-ruble ho websaeteng ea Banka e Bohareng ea Russia Federation.

Thuto ea 1. Ka bokhutšoanyane ka blockchain le marang-rang a EthereumSepheo sa thuto: tloaelana le melao-motheo ea ts'ebetso ea Ethereum blockchain, libaka tsa eona tsa ts'ebeliso le mantsoe a motheo.
Mesebetsi e sebetsang: e sa kenyelletsoeng thutong ena.

Ha ho na moqapi oa software kajeno ea e-s'o utloe letho ka theknoloji ea blockchain (Blockchain), li-cryptocurrensets (Cryptocurrency kapa Crypto Currency), Bitcoin (Bitcoin), nyehelo ea chelete ea pele (ICO, nyehelo ea chelete ea pele), likonteraka tse bohlale (Smart Contract), hammoho le likhopolo le mantsoe a mang a amanang le blockchain.

Theknoloji ea Blockchain e bula limmaraka tse ncha mme e theha mesebetsi bakeng sa baetsi ba mananeo. Haeba u utloisisa lintho tsohle tse rarahaneng tsa theknoloji ea cryptocurrency le theknoloji e bohlale ea konteraka, ha ua lokela ho ba le mathata a ho sebelisa tsebo ena mosebetsing.

Ho tlameha ho boleloa hore ho na le likhopolo-taba tse ngata ho pota-pota lichelete tsa crypto le li-blockchains. Re tla tlohela lipuisano ka thoko mabapi le liphetoho tsa litefiso tsa chelete ea crypto, ho theoa ha liphiramide, ho rarahana ha molao oa chelete ea crypto, jj. Thutong ea rona ea koetliso re tla tsepamisa maikutlo haholo-holo litabeng tsa tekheniki tsa ho sebelisa likonteraka tse bohlale ho Ethereum blockchain le ho ntshetsa pele seo ho thoeng ke likopo tsa decentralized (DApps).

Blockchain ke eng

Blockchain (Block Chain) ke letoto la li-block tsa data tse amanang le tse ling ka tsela e itseng. Qalong ea ketane ho na le boloko ba pele, bo bitsoang "block block" kapa "genesis block". E lateloa ke ea bobeli, e be ea boraro joalo-joalo.

Li-blocks tsena tsohle tsa data li kopitsoa ka bo eona ho li-node tse ngata tsa marang-rang a blockchain. Sena se netefatsa polokelo e arolelanoang ea data ea blockchain.
U ka nahana ka tsamaiso ea blockchain e le palo e kholo ea li-node (li-server kapa li-server) tse hokahaneng le marang-rang le ho pheta-pheta liphetoho tsohle letotong la li-block tsa data. Sena se tšoana le k'homphieutha e kholo ea li-server tse ngata, 'me li-node tsa k'homphieutha e joalo (li-server) li ka hasana lefatšeng ka bophara. Le uena u ka eketsa komporo ea hau marang-rang a blockchain.

Distributed Database

Blockchain e ka nkoa e le database e abuoang e phetoang ho pholletsa le libaka tsohle tsa marang-rang a blockchain. Ka khopolo, blockchain e tla sebetsa hafeela bonyane node e le 'ngoe e ntse e sebetsa, e boloka li-blocks tsohle tsa blockchain.

Registry ea data e ajoang

Blockchain e ka nkoa e le ledger e ajoang ea data le ts'ebetso (litšebelisano). Lebitso le leng la rejisetara e joalo ke ledja.

Lintlha li ka kenyelletsoa bukeng e ajoang, empa e ke ke ea fetoloa kapa ea hlakoloa. Sena se ke keng sa khoneha se finyelloa, haholo-holo, ka tšebeliso ea li-algorithms tsa cryptographic, li-algorithms tse khethehileng tsa ho eketsa li-blocks ho ketane le polokelo ea data e arolelanoang.

Ha o eketsa li-blocks le ho etsa ts'ebetso (litšebelisano), linotlolo tsa poraefete le tsa sechaba li sebelisoa. Ba thibela basebelisi ba blockchain ka ho ba fa monyetla oa ho fumana li-block tsa bona tsa data.

Litšebelisano

Blockchain boloka tlhahisoleseding e mabapi le tshebetso (transactions) ka diboloko. Ka nako e ts'oanang, litšebelisano tsa khale, tse seng li phethiloe li ke ke tsa khutlisetsoa morao kapa tsa fetoloa. Litšebelisano tse ncha li bolokoa ka har'a li-blocks tse ncha.

Ka tsela ena, nalane eohle ea transaction e ka ngoloa e sa fetohe ho blockchain. Ka hona, blockchain e ka sebelisoa, ka mohlala, ho boloka litšebelisano tsa banka ka mokhoa o sireletsehileng, tlhahisoleseding ea litokelo, histori ea liphetoho ho beng ba thepa, joalo-joalo.

Ethereum blockchain e na le seo ho thoeng ke tsamaiso ea linaha. Ha ho ntse ho etsoa litšebelisano, boemo bo fetoha ho tloha boemong ba pele ho ea boemong ba hona joale. Litšebelisano li ngotsoe ka li-blocks.

Li-blockchains tsa sechaba le tsa poraefete

Hoa lokela ho hlokomeloa mona hore ntho e 'ngoe le e' ngoe e boletsoeng ke 'nete feela bakeng sa seo ho thoeng ke marang-rang a blockchain a sechaba, a ke keng a laoloa ke motho leha e le ofe kapa mokhatlo oa molao, mokhatlo oa mmuso kapa mmuso.
Seo ho thoeng ke marang-rang a blockchain a ikemetseng a tlas'a taolo e feletseng ea baetsi ba bona, 'me ntho leha e le efe e ka khoneha moo, mohlala, phetoho e feletseng ea li-blocks tsohle tsa ketane.

Lisebelisoa tse sebetsang tsa blockchain

Blockchain e ka ba molemo ho eng?

Ka bokhutšoanyane, blockchain e u lumella ho etsa litšebelisano (litšebelisano) ka mokhoa o sireletsehileng pakeng tsa batho kapa lik'hamphani tse sa tšepaneng. Lintlha tse tlalehiloeng ho blockchain (litšebelisano, data ea motho, litokomane, litifikeiti, likonteraka, li-invoice, joalo-joalo) li ke ke tsa etsoa leshano kapa tsa nkeloa sebaka ka mor'a ho rekota. Ka hona, ho itšetlehile ka blockchain, hoa khoneha ho theha, ka mohlala, li-registries tse tšeptjoang tsa mefuta e sa tšoaneng ea litokomane.

Ha e le hantle, ua tseba hore mekhoa ea li-cryptocurrency e ntse e bōptjoa motheong oa li-blockchains, tse etselitsoeng ho nkela chelete e tloaelehileng ea pampiri sebaka. Chelete ea pampiri e boetse e bitsoa fiat (ho tloha Fiat Money).
Blockchain e netefatsa ho boloka le ho se fetohe ha litšebelisano tse tlalehiloeng ka li-blocks, ke ka lebaka leo e ka sebelisoang ho theha mekhoa ea li-cryptocurrency. E na le nalane eohle ea phetisetso ea lichelete tsa crypto lipakeng tsa basebelisi ba fapaneng (liak'haonte), mme ts'ebetso efe kapa efe e ka lateloa.

Le hoja litšebelisano ka har'a litsamaiso tsa chelete ea crypto li ka se tsejoe, ho tlosa chelete ea crypto le ho e fapanyetsana bakeng sa chelete ea fiat hangata ho fella ka ho senola boitsebiso ba mong'a thepa ea cryptocurrency.

Seo ho thoeng ke likonteraka tse bohlale, e leng software e sebetsang ho marang-rang a Ethereum, e u lumella hore u iketsetse mokhoa oa ho etsa litšebelisano le ho shebella ts'ebetsong ea bona. Sena se sebetsa ka ho khetheha haeba tefo ea thekiso e etsoa ho sebelisoa chelete ea crypto ea Ether.

Likonteraka tse bohlale tsa Ethereum blockchain le Ethereum tse ngotsoeng ka puo ea lenaneo la Solidity li ka sebelisoa, ka mohlala, libakeng tse latelang:

  • mokhoa o mong ho feta notarization ea litokomane;
  • polokelo ea ngoliso ea lintho tsa thekiso ea matlo le tlhahisoleseding e mabapi le litšebelisano le lintho tsa thekiso ea matlo;
  • ho boloka tlhahisoleseding ea litokelo tsa litokelo tsa thepa ea bohlale (libuka, litšoantšo, mesebetsi ea 'mino, joalo-joalo);
  • ho theha mekhoa e ikemetseng ea likhetho;
  • lichelete le banka;
  • tsamaiso ea thepa ka tekanyo ea machaba, ho latela motsamao oa thepa;
  • polokelo ea data ea motho e le analogue ho sistimi ea karete ea boitsebiso;
  • litšebelisano tse sireletsehileng tšimong ea khoebo;
  • ho boloka liphetho tsa litlhahlobo tsa bongaka, hammoho le nalane ea mekhoa e behiloeng

Mathata ka blockchain

Empa, ha e le hantle, hase ntho e 'ngoe le e' ngoe e bonolo joalokaha e ka bonahala!

Ho na le mathata a ho netefatsa data pele o e eketsa ho blockchain (mohlala, na ke fake?), Mathata le ts'ireletso ea sistimi le software ea kopo e sebelisoang ho sebetsa le blockchain, mathata a monyetla oa ho sebelisa mekhoa ea boenjiniere ba sechaba ho utsoa phihlello. ho li-wallet tsa cryptocurrency, joalo-joalo .P.

Hape, haeba re sa bue ka blockchain ea sechaba, eo li-node tsa eona li hasaneng lefats'eng lohle, empa ka blockchain e ikemetseng ea motho kapa mokhatlo, joale boemo ba tšepo mona bo ke ke ba phahama ho feta boemo ba tšepo. mothong enwa kapa mokgatlong ona.

Hape ho lokela ho nahanoa hore data e tlalehiloeng ho blockchain e fumaneha ho bohle. Ka kutloisiso ena, blockchain (haholo-holo ea sechaba) ha e loketse ho boloka boitsebiso ba lekunutu. Leha ho le joalo, taba ea hore tlhahisoleseding e mabapi le blockchain e ke ke ea fetoloa e ka thusa ho thibela kapa ho batlisisa mefuta e sa tšoaneng ea liketso tsa bolotsana.

Likopo tsa Ethereum decentralized li tla ba bonolo haeba u lefella tšebeliso ea tsona ka chelete ea crypto. Ha batho ba bangata ba nang le chelete ea crypto kapa ba ikemiselitseng ho e reka, li-DApp le likonteraka tse bohlale li tla ba teng.

Mathata a tloaelehileng a blockchain a sitisang ts'ebeliso ea ona e sebetsang a kenyelletsa lebelo le lekanyelitsoeng leo ho ka kenyelletsoang li-blocks tse ncha le litšenyehelo tse batlang li le holimo tsa litšebelisano. Empa theknoloji sebakeng sena e ntse e tsoela pele ka mafolofolo, 'me ho na le tšepo ea hore mathata a tekheniki a tla rarolloa ha nako e ntse e ea.

Bothata bo bong ke hore likonteraka tse bohlale ho Ethereum blockchain li sebetsa sebakeng se ka thōko sa mechine ea sebele, 'me ha li fumane boitsebiso ba lefatše la sebele. Haholo-holo, lenaneo le bohlale la konteraka le ke ke la khona ho bala lintlha tse tsoang libakeng kapa lisebelisoa leha e le life tsa 'mele (li-sensor, mabitso, joalo-joalo), hape ha li khone ho ntša data ho lisebelisoa leha e le life tsa kantle. Re tla tšohla bothata bona le litsela tsa ho bo rarolla thutong e fanoeng ho seo ho thoeng ke li-Oracles - li-intermediaries tsa tlhahisoleseding ea likonteraka tse bohlale.

Hape ho na le lithibelo tsa molao. Linaheng tse ling, mohlala, ho thibetsoe ho sebelisa chelete ea crypto e le mokhoa oa ho lefa, empa u ka e rua e le mofuta oa thepa ea digital, joalo ka matšeliso. Matlotlo a joalo a ka rekoa le ho rekisoa ka phapanyetsano. Ho sa tsotellehe boemo leha e le bofe, ha u theha morero o sebetsang le chelete ea crypto, u lokela ho tloaelana le molao oa naha eo morero oa hau o oelang tlas'a taolo ea eona.

Tsela eo ketane ea blockchain e entsoeng ka eona

Joalokaha re se re boletse, blockchain ke ketane e bonolo ea li-block tsa data. Ntlha ea pele, thibela ea pele ea ketane ena e thehoa, ebe ea bobeli e eketsoa ho eona, joalo-joalo. Lintlha tsa transaction li nkoa li bolokiloe ka li-blocks, 'me li eketsoa ho thibela ea morao-rao.

Ho feiga. 1.1 re bonts'itse mofuta o bonolo oa tatellano ea li-block, moo boloko ba pele bo buang ka e latelang.

Buka ea "Creating Solidity smart contracts for Ethereum blockchain. Tataiso e sebetsang"
Raese. 1.1. Tatelano e bonolo ya diboloko

Leha ho le joalo, ka khetho ena, ho bonolo haholo ho senya se ka hare ho thibela leha e le efe ka ketane, kaha li-blocks ha li na tlhahisoleseding leha e le efe ho sireletsa khahlanong le liphetoho. Ha re nahana hore blockchain e reretsoe ho sebelisoa ke batho le lik'hamphani tseo ho seng tšepo pakeng tsa tsona, re ka etsa qeto ea hore mokhoa ona oa ho boloka boitsebiso ha o tšoanelehe bakeng sa thibelo.

Ha re qale ho sireletsa li-blocks ho tsoa ho fake. Boemong ba pele, re tla leka ho sireletsa thibela e 'ngoe le e' ngoe ka checksum (setšoantšo sa 1.2).

Buka ea "Creating Solidity smart contracts for Ethereum blockchain. Tataiso e sebetsang"
Raese. 1.2. Ho eketsa tšireletso bakeng sa li-block tsena ka checksum

Hona joale mohlaseli a ke ke a fetola block feela, kaha e na le checksum ea data block. Ho hlahloba checksum ho tla bontša hore data e fetotsoe.

Ho bala cheke, o ka sebelisa e 'ngoe ea mesebetsi ea hashing joalo ka MD-5, SHA-1, SHA-256, joalo-joalo. Mesebetsi ea Hash e kopanya boleng (mohlala, tatellano ea mongolo oa bolelele bo sa fetoheng) ka ho etsa lits'ebetso tse ke keng tsa khutlisetsoa morao ho boloko ba data. Ts'ebetso e itšetlehile ka mofuta oa ts'ebetso ea hash.

Esita le haeba litaba tsa "data block" li fetoha hanyenyane, boleng ba hash le bona bo tla fetoha. Ka ho hlahloba boleng ba mosebetsi oa hash, ho ke ke ha khoneha ho tsosolosa sebaka sa data seo se neng se baloa.

Na tšireletso e joalo e tla lekana? Ka bomalimabe che.

Lenaneong lena, checksum (hash function) e sireletsa feela li-blocks, empa eseng blockchain eohle. Ho tseba algorithm ea ho bala mosebetsi oa hash, mohlaseli a ka nka sebaka sa litaba tsa block habonolo. Hape, ha ho letho le tla mo thibela ho tlosa li-blocks ho tloha ketane kapa ho eketsa tse ncha.

E le ho sireletsa ketane eohle ka kakaretso, u ka boela ua boloka ho thibela e 'ngoe le e' ngoe, hammoho le data, hash ea data ho tloha thibela e fetileng (setšoantšo sa 1.3).

Buka ea "Creating Solidity smart contracts for Ethereum blockchain. Tataiso e sebetsang"
Raese. 1.3. Kenya hash ea block e fetileng ho thibela data

Lenaneong lena, ho fetola block, o hloka ho bala hape mesebetsi ea hash ea li-block tsohle tse latelang. Ho ka bonahala eka, bothata ke bofe?

Li-blockchains tsa 'nete, mathata a maiketsetso a eketsoa ho eketsa li-blocks tse ncha - ho sebelisoa li-algorithms tse hlokang lisebelisoa tse ngata tsa komporo. Ha u nahana hore ho etsa liphetoho ho block, ha ho hlokahale hore u bale sebaka sena se le seng feela, empa le tse ling tsohle tse latelang, ho tla ba thata haholo ho etsa sena.

A re hopoleng hape hore data ea blockchain e bolokiloe (e kopitsoa) ho li-node tse ngata tsa marang-rang, i.e. Ho sebelisoa polokelo e arohaneng. 'Me sena se etsa hore ho be thata le ho feta ho fake block, hobane liphetoho li tlameha ho etsoa ho li-node tsohle tsa marang-rang.

Kaha li-blocks li boloka tlhahisoleseling mabapi le block e fetileng, hoa khoneha ho hlahloba litaba tsa li-blocks tsohle ka ketane.

Ethereum blockchain

Ethereum blockchain ke sethala seo ho ka etsoang DApps e ajoang ho sona. Ho fapana le liforomo tse ling, Ethereum e lumella tšebeliso ea seo ho thoeng ke likonteraka tse bohlale (likonteraka tse bohlale), tse ngotsoeng ka puo ea lenaneo la Solidity.

Sethala sena se entsoe ka 2013 ke Vitalik Buterin, mothehi oa Makasine ea Bitcoin, mme e qalile ka 2015. Ntho e 'ngoe le e' ngoe eo re tla ithuta eona kapa re tla e etsa thupelong ea rona ea koetliso e amana ka ho khetheha le likonteraka tse bohlale tsa Ethereum blockchain le Solidity.

Merafo kapa hore na li-block li etsoa joang

Meepo ke ts'ebetso e rarahaneng le e matla haholo ea ho kenyelletsa li-blocks tse ncha ho ketane ea blockchain, eseng ho hang "merafo ea cryptocurrency." Merafo e tiisa ts'ebetso ea blockchain, hobane ke ts'ebetso ena e ikarabellang bakeng sa ho eketsa litšebelisano ho Ethereum blockchain.

Batho le mekhatlo e amehang ho eketseng li-block ba bitsoa basebetsi ba merafong.
Software e sebetsang ho li-node tsa morafo e leka ho fumana parameter ea hashing e bitsoang Nonce bakeng sa thibelo ea ho qetela ho fumana boleng bo itseng ba hash bo boletsoeng ke marang-rang. Ethash hashing algorithm e sebelisitsoeng ho Ethereum e u lumella ho fumana boleng ba Nonce feela ka ho batla ka tatellano.

Haeba node ea morafo e fumana boleng bo nepahetseng ba Nonce, joale sena ke seo ho thoeng ke bopaki ba mosebetsi (PoW, Bopaki-ba-mosebetsi). Tabeng ena, haeba thibela e kenyelletsoa marang-rang a Ethereum, mosebeletsi oa morafo o fumana moputso o itseng ka chelete ea marang-rang - Ether. Nakong ea ho ngola, moputso ke 5 Ether, empa sena se tla fokotseha ha nako e ntse e ea.

Kahoo, basebetsi ba merafong ba Ethereum ba netefatsa ts'ebetso ea marang-rang ka ho eketsa li-blocks, le ho fumana chelete ea cryptocurrency bakeng sa sena. U tla fumana boitsebiso bo bongata ho internet mabapi le basebetsi ba merafong le merafong, empa re tla tsepamisa maikutlo ho theha likonteraka tsa Solidity le DApps ho marang-rang a Ethereum.

Kakaretso ea thuto

Thutong ea pele, u ile ua tloaelana le blockchain mme oa ithuta hore ke tatellano e ikhethileng ea li-block. Likahare tsa li-blocks tse tlalehiloeng pele li ke ke tsa fetoloa, kaha sena se tla hloka ho bala hape li-blocks tse latelang ho li-node tse ngata tsa marang-rang, tse hlokang lisebelisoa le nako e ngata.

Blockchain e ka sebelisoa ho boloka liphetho tsa litšebelisano. Morero oa eona o ka sehloohong ke ho hlophisa litšebelisano tse sireletsehileng pakeng tsa mekha (batho le mekhatlo) eo ho seng tšepo pakeng tsa bona. U ithutile hore na ke libaka life tse khethehileng tsa khoebo le libakeng tseo ho ka sebelisoang likonteraka tse bohlale tsa Ethereum blockchain le Solidity. Ena ke lefapha la banka, ngoliso ea litokelo tsa thepa, litokomane, joalo-joalo.

U boetse u ithutile hore mathata a fapaneng a ka hlaha ha o sebelisa blockchain. Tsena ke mathata a ho netefatsa tlhahisoleseling e kenyellelitsoeng ho blockchain, lebelo la blockchain, litšenyehelo tsa litšebelisano, bothata ba phapanyetsano ea data lipakeng tsa likonteraka tse bohlale le lefats'e la 'nete, hammoho le litlhaselo tse ka bang teng ke bahlaseli ba reretsoeng ho utsoa chelete ea cryptocurrency ho li-account tsa basebelisi. .

Hape re buile ka bokhutšoanyane ka merafo e le mokhoa oa ho eketsa li-blocks tse ncha ho blockchain. Ho hlokahala morafo ho phethahatsa litšebelisano. Ba amehang merafong ba netefatsa ts'ebetso ea blockchain mme ba fumana moputso ka chelete ea crypto bakeng sa sena.

Thuto ea 2. Ho lokisa tikoloho ea ho sebetsa ho Ubuntu le Debian OSHo khetha sistimi e sebetsang
Ho kenya lisebelisoa tse hlokahalang
Ho kenya Geth le Swarm ho Ubuntu
Ho kenya Geth le Swarm ho Debian
Tokisetso ea pele
E khoasolla kabo ea Go
Ho beha mefuta-futa ea tikoloho
Ho hlahloba mofuta oa Go
Ho kenya Geth le Swarm
Ho theha blockchain ea poraefete
Ho lokisa faele ea genesis.json
Theha directory bakeng sa mosebetsi
Theha ak'haonte
Ho qala ho qala node
Likhetho tsa ho qala Node
Ikopanye le node ea rona
Tsamaiso ea merafo le ho hlahloba ho leka-lekana
Ho koala console ea Geth
Kakaretso ea thuto

Thuto ea 3. Ho lokisa tikoloho ea ho sebetsa ho Raspberry Pi 3Ho lokisa Raspberry Pi 3 bakeng sa mosebetsi
Ho kenya Rasberian
E kenya lintlafatso
E nolofalletsa phihlello ea SSH
Ho theha Aterese ea IP e tsitsitseng
Ho kenya lisebelisoa tse hlokahalang
E kenya Go
E khoasolla kabo ea Go
Ho beha mefuta-futa ea tikoloho
Ho hlahloba mofuta oa Go
Ho kenya Geth le Swarm
Ho theha blockchain ea poraefete
Ho hlahloba akhaonto ea hau le tekanyo ea chelete
Kakaretso ea thuto

Thuto ea 4. Liakhaonto le ho fetisa lichelete lipakeng tsa liakhaontoSheba 'me u kenye li-account
Sheba lenane la li-account
E eketsa ak'haonte
geth account command options
Li-passwords tsa akhaonto
Cryptocurrency ka Ethereum
Liuniti tsa Chelete ea Ethereum
Re etsa qeto ea ho leka-lekana ha joale tsa li-account tsa rona
Fetisetsa chelete ho tloha akhaonteng e 'ngoe ho ea ho e' ngoe
eth.sendTransaction mokhoa
Sheba boemo ba transaction
Receipt ea transaction
Kakaretso ea thuto

Thuto ea 5. Ho phatlalatsa konteraka ea hau ea peleLikonteraka tse bohlale ho Ethereum
Phethahatso e Bohlale ea Konteraka
Mochini oa Ethereum Virtual
Tikoloho e kopaneng ea ntlafatso Remix Solidity IDE
Ho kopanya ho matha
Ho letsa Mesebetsi ea Konteraka
Ho phatlalatsa konteraka marang-rang a ikemetseng
Ho fumana tlhaloso ea ABI le khoutu ea binary ea konteraka
Phatlalatso ea konteraka
Ho lekola boemo ba konteraka ba phatlalatso ea transaction
Ho letsa Mesebetsi ea Konteraka
Batch compiler solc
Ho kenya solc ho Ubuntu
Ho kenya solc ho Debian
Ho hlophisa konteraka ea HelloSol
Phatlalatso ea konteraka
Ho kenya solc ho Rasberian
Kakaretso ea thuto

Thuto ea 6. Likonteraka tse bohlale le Node.jsHo kenya Node.js
Ho kenya Ubuntu
Ho kenya Debian
Ho kenya le ho tsamaisa Ganache-cli
Ho kenya Web3
Ho kenya solc
Ho kenya Node.js ho Rasberian
Script ho fumana lethathamo la li-account ho console
Script bakeng sa ho phatlalatsa konteraka e bohlale
Qala 'me u fumane li-parameter
Ho fumana likhetho tsa ho qala
Kopano ea Konteraka
Ho notlolla ak'haonte ea hau
E kenya ABI le khoutu ea binary ea konteraka
Ho lekanya palo e hlokahalang ea khase
Theha ntho 'me u qale ho phatlalatsa konteraka
Ho tsamaisa sengoloa sa phatlalatso sa konteraka
Ho bitsa mesebetsi ea konteraka e bohlale
Na hoa khoneha ho nchafatsa konteraka e bohlale e phatlalalitsoeng?
Ho sebetsa le Web3 version 1.0.x
Ho fumana lethathamo la li-account
Phatlalatso ea konteraka
Ho letsa Mesebetsi ea Konteraka
Fetisetsa chelete ho tloha akhaonteng e 'ngoe ho ea ho e' ngoe
Fetisetsa chelete ho akhaonto ea konteraka
E nchafatsa konteraka e bohlale ea HelloSol
Ngola mongolo ho bona tekanyo ea akhaonto ea hau
Kenya mohala mosebetsing oa getBalance ho call_contract_get_promise.js script
Re tlatsa ak'haonte ea konteraka e bohlale
Kakaretso ea thuto

Thuto ea 7. Selelekela sa TruffleHo kenya Truffle
Theha morero oa HelloSol
Ho theha Bukana ea Morero le Lifaele
Lenane la likonteraka
Ho falla ha lethathamo
Tlhahlobo ea lenane
truffle-config.js faele
Ho hlophisa konteraka ea HelloSol
Qala ho phatlalatsa konteraka
Ho letsa Mesebetsi ea Konteraka ea HelloSol ka potlako ea Truffle
Ho letsetsa HelloSol ho sebetsa ho tsoa ho mongolo oa JavaScript o sebelisang Node.js
Ho kenya module ea truffle-contract
Ho letsetsa konteraka ho sebetsa GetValue le GetString
Ho letsa mesebetsi ya konteraka setValue le setString
Phetoho ea konteraka le ho phatlalatsoa bocha
Ho sebetsa le Web3 version 1.0.x
Ho etsa liphetoho ho konteraka e bohlale ea HelloSol
Lingoliloeng tsa ho letsetsa mekhoa ea konteraka
Ho etsa liteko ka Truffle
Teko ea botsitso
Teko ea JavaScript
Kakaretso ea thuto

Thuto ea 8. Mefuta ea Boitsebiso ba SolidityKonteraka bakeng sa mefuta ea data ea ho ithuta
Mefuta ea data ea Boolean
Dinomoro tse sa saenwang le dinomoro tse saennweng
Linomoro tse tsitsitseng
Aterese
Mefuta e fapaneng ea mefuta e rarahaneng
Li-Arrays tsa boholo bo tsitsitseng
Lihlopha tse matla
Sebetsa
Meaho
'Mapa oa lidikishinari
Kakaretso ea thuto

Thuto ea 9. Ho falla ha likonteraka ho ea ho marang-rang a poraefete le marang-rang a RinkebyHo phatlalatsa konteraka ho tloha Truffle ho ea marang-rang a Geth a ikemetseng
Ho lokisa node ea marang-rang ea poraefete
Ho lokisa konteraka ea mosebetsi
Ho bokella le ho fallisetsa konteraka marangrang a Truffle
Ho qala ho falla ha marang-rang geth
Ho fumana lintho tsa khale tsa Truffle
Ho phatlalatsa konteraka ho tloha Truffle ho ea ho Rinkeby testnet
Ho lokisa node ea Geth ho sebetsa le Rinkeby
Khokahano ea node
Ho eketsa li-account
Ho tlatsa ak'haonte ea hau ea Rinkeby ka ether
E qala ho falla ha konteraka ho marang-rang a Rinkeby
Ho sheba lintlha tsa konteraka marang-rang a Rinkeby
Truffle Console bakeng sa Rinkeby Network
Mokhoa o bonolo oa ho letsetsa mesebetsi ea konteraka
Ho letsetsa mekhoa ea konteraka ho sebelisa Node.js
Fetisetsa chelete lipakeng tsa liakhaonto ho Truffle console bakeng sa Rinkby
Kakaretso ea thuto

Thuto ea 10. Ethereum Swarm Decentralized Data StorageEthereum Swarm e sebetsa joang?
Ho kenya le ho qala Swarm
E sebetsa ka lifaele le li-directory
Ho kenya Faele ho Ethereum Swarm
Ho bala faele ho tsoa ho Ethereum Swarm
Sheba manifesto ea faele e kentsoeng
E kenya li-directory tse nang le li-subdirectories
Ho bala faele bukeng e jarollotsoeng
Ho sebelisa tsela ea sechaba ea Swarm
Ho fihlella Swarm ho tsoa ho Node.js script
Perl Net ::Ethereum ::Mojule oa Swarm
Ho kenya Net ::Ethereum::Mojule oa Swarm
Ho ngola le ho bala data
Kakaretso ea thuto

Thuto ea 11. Web3.py moralo oa ho sebetsa le Ethereum ho PythonE kenya Web3.py
Ho nchafatsa le ho kenya liphutheloana tse hlokahalang
Ho kenya module ea easysolc
Ho phatlalatsa konteraka ho sebelisa Web3.py
Kopano ea Konteraka
Ho hokela ho mofani wa thepa
Phetha phatlalatso ea konteraka
Ho boloka aterese ea konteraka le abi faeleng
Ho tsamaisa sengoloa sa phatlalatso sa konteraka
Ho Letsa Mekhoa ea Konteraka
Ho bala aterese le abi ea konteraka ho tsoa faeleng ea JSON
Ho hokela ho mofani wa thepa
Ho theha Sepheo sa Konteraka
Ho Letsa Mekhoa ea Konteraka
Truffle le Web3.py
Kakaretso ea thuto

Thuto ea 12. OraclesNa konteraka e bohlale e ka tšepa lintlha tse tsoang lefats'eng le kantle?
Oracles joalo ka li-intermediaries tsa blockchain
Mohloli oa data
Khoutu e emelang data ho tsoa mohloling
Oracle bakeng sa ho rekota sekhahla sa phapanyetsano ho blockchain
USDRateOracle Contract
Ho nchafatsa sekhahla sa phapanyetsano konteraka e bohlale
Ho sebelisa Web Socket Provider
E emetse ketsahalo ea RateUpdate
Ho sebetsana le ketsahalo ea RateUpdate
Ho qala ntlafatso ea data ho konteraka e bohlale
Kakaretso ea thuto

Source: www.habr.com

Eketsa ka tlhaloso