1import{u as s,_ as r}from"./WrapperPost.vue_vue_type_style_index_0_lang-bgNpJ1F0.js";import{c as i,o,w as u,a as e,d as l}from"./app-EMsQ9hhF.js";const g={__name:"blockchain_ethereum_basic",setup(d){const a={title:"Ethereum æ ¸å¿ææ¯è§£è¯»",date:"2021-02-20T12:12:17.000+0800",lang:"zh",type:"note",duration:"8min",image:"https://image.pseudoyu.com/images/ethereum_overview.png",meta:[{property:"og:title",content:"Ethereum æ ¸å¿ææ¯è§£è¯»"},{name:"twitter:title",content:"Ethereum æ ¸å¿ææ¯è§£è¯»"},{property:"og:image",content:"https://image.pseudoyu.com/images/ethereum_overview.png"},{name:"twitter:image",content:"https://image.pseudoyu.com/images/ethereum_overview.png"},{name:"twitter:card",content:"summary_large_image"}]};return s({title:"Ethereum æ ¸å¿ææ¯è§£è¯»",meta:[{property:"og:title",content:"Ethereum æ ¸å¿ææ¯è§£è¯»"},{name:"twitter:title",content:"Ethereum æ ¸å¿ææ¯è§£è¯»"},{property:"og:image",content:"https://image.pseudoyu.com/images/ethereum_overview.png"},{name:"twitter:image",content:"https://image.pseudoyu.com/images/ethereum_overview.png"},{name:"twitter:card",content:"summary_large_image"}]}),(h,t)=>{const n=r;return o(),i(n,{frontmatter:a},{default:u(()=>t[0]||(t[0]=[e("div",{class:"prose m-auto slide-enter-content"},[e("h2",{id:"åè¨",tabindex:"-1"},[l("åè¨ "),e("a",{class:"header-anchor",href:"#åè¨","aria-hidden":"true"},"#")]),e("p",null,[l("æ¯ç¹å¸ä½ä¸ºä¸ç§å»ä¸å¿åçæ°åè´§å¸ï¼æ¯æå
¶æåçï¼ä½åéäºæ¯ç¹å¸èæ¬ï¼éå¾çµå®å¤ï¼åªè½å¤çä¸äºç®åçé»è¾ï¼ï¼å¹¶ä¸è½å¤çå¾å¤æçä¸å¡ãè"),e("code",null,"Ethereum"),l("å¼å
¥äºæºè½å约ï¼ä½¿å»ä¸å¿åçæ¦å¿µè½å¤åºç¨äºæ´ä¸°å¯çåºç¨åºæ¯ï¼å æ¤ä¹è¢«ç§°ä¸ºåºåé¾ 2.0ãæ¬æå°å¯¹ä»¥å¤ªåæ ¸å¿ææ¯è¿è¡è§£è¯»ï¼å¦æéæ¼ï¼æ¬¢è¿äº¤æµææ£ã")]),e("h2",{id:"ethereum-ç³»ç»",tabindex:"-1"},[l("Ethereum ç³»ç» "),e("a",{class:"header-anchor",href:"#ethereum-ç³»ç»","aria-hidden":"true"},"#")]),e("p",null,[l("2014 å¹´ 1 æï¼ä¿ç½æ¯å¼åè
Vitalik Buterin åå¸äºä»¥å¤ªåç½ç®ä¹¦å¹¶æç«å¢éï¼æ¨å¨åé ä¸ä¸ªéææ´éç¨çèæ¬è¯è¨çåºåé¾å¹³å°ãå
¶ä¸ä¸ä½æå Dr. Gavin Wood åå¸äºä¸ä»½é»ç®ä¹¦ï¼æ¶å"),e("code",null,"Ethereum Virtual Machin(EVM)"),l("以太åèæçç¸å
³ææ¯ï¼è¿å°±æ¯"),e("code",null,"Ethereum"),l("çè¯çã")]),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/ethereum_overview.png",alt:"ethereum_overview"})]),e("p",null,[l("ç®åæ¥è¯´ï¼"),e("code",null,"Ethereum"),l("æ¯ä¸ä¸ªå¼æºçå»ä¸å¿åç³»ç»ï¼ä½¿ç¨åºå龿¥åå¨ç³»ç»ç¶æååï¼å æ¤ä¹è¢«ç§°ä¸ºâä¸çè®¡ç®æºâï¼å®æ¯æå¼åè
å¨åºåé¾ä¸é¨ç½²è¿è¡ä¸å¯åçç¨åºï¼ç§°ä¸ºæºè½å约ï¼å æ¤å¯ä»¥æ¯æå¹¿æ³çåºç¨åºæ¯ï¼å®ä½¿ç¨æ°åè´§å¸"),e("code",null,"Ether"),l("æ¥è¡¡éç³»ç»èµæºæ¶èï¼æ¿å±æ´å¤äººåä¸"),e("code",null,"Ethereum"),l("ç³»ç»å»ºè®¾ã")]),e("h3",{id:"å»ä¸å¿ååºç¨-dapp",tabindex:"-1"},[l("å»ä¸å¿ååºç¨ DApp "),e("a",{class:"header-anchor",href:"#å»ä¸å¿ååºç¨-dapp","aria-hidden":"true"},"#")]),e("p",null,"ç乿¥è¯´ï¼DApp å
¶å®å°±æ¯ä¸ä¸ªéæäºç¨æ·çé¢ãæ¯ææºè½å约ãè¿è¡äºä»¥å¤ªååºåé¾ä¸çåºç¨ã"),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/ethereum_architecture.png",alt:"ethereum_architecture"})]),e("p",null,[l("å¦ä¸å¾æç¤ºï¼"),e("code",null,"Ethereum"),l("åºç¨å®ä¾é¨ç½²å¨åºåé¾ç½ç»ä¸ï¼æºè½å约è¿è¡äºåºåé¾èææºä¸ï¼ï¼è Web ç¨åºåªéè¦éè¿"),e("code",null,"Web3.js"),l("对åºåé¾ç½ç»è¿è¡"),e("code",null,"RPC"),l("è¿ç¨è°ç¨ï¼è¿æ ·ç¨æ·å°±å¯ä»¥éè¿æµè§å¨ï¼DApp æµè§å¨æ MetaMask çæä»¶å·¥å
·ï¼è®¿é®å»ä¸å¿åæå¡åºç¨äºã")]),e("h3",{id:"è´¦æ¬",tabindex:"-1"},[l("è´¦æ¬ "),e("a",{class:"header-anchor",href:"#è´¦æ¬","aria-hidden":"true"},"#")]),e("p",null,[e("code",null,"Ethereum"),l("åºå龿¯ä¸ä¸ªå»ä¸å¿åçè´¦æ¬ï¼æ°æ®åºï¼ï¼ç½ç»ä¸çææäº¤æé½ä¼åå¨å¨åºåé¾ä¸ï¼ææèç¹é½è¦æ¬å°ä¿åä¸ä»½æ°æ®ï¼å¹¶ä¸ç¡®ä¿æ¯ä¸ç¬äº¤æçå¯ä¿¡åº¦ï¼ææç交æé½æ¯å
¬å¼ä¸ä¸å¯ç¯¡æ¹çï¼ç½ç»ä¸çææèç¹é½å¯ä»¥æ¥çåéªè¯ã")]),e("h3",{id:"è´¦æ·",tabindex:"-1"},[l("è´¦æ· "),e("a",{class:"header-anchor",href:"#è´¦æ·","aria-hidden":"true"},"#")]),e("p",null,"彿们éè¦ç»å½ä¸ä¸ªç½ç«æç³»ç»ï¼æ¯å¦é®ç®±ï¼æ¶ï¼å¾å¾éè¦ä¸ä¸ªå¸å·åä¸ä¸ªå¯ç ï¼å¯ç éè¿å å¯ç®æ³ä»¥ææçå½¢å¼åå¨å¨ä¸å¿åçæ°æ®åºä¸ãç¶èï¼ä»¥å¤ªåæ¯ä¸ä¸ªå»ä¸å¿åçç³»ç»ï¼é£æ¯æä¹çæè´¦æ·çå¢ï¼"),e("p",null,"忝ç¹å¸ç³»ç»åç类似"),e("ol",null,[e("li",null,[l("é¦å
çæä¸ä¸ªä»
æèªå·±ç¥éçç§é¥ï¼å设为"),e("code",null,"sk"),l("ï¼éç¨"),e("code",null,"ECDSA(Elliptic Curve Digital Signature Algorithm)"),l("æ¤åæ²çº¿ç®æ³çæå¯¹åºçå
¬é¥"),e("code",null,"pk")]),e("li",null,[l("éç¨"),e("code",null,"keccak256"),l("ç®æ³å¯¹å
¬é¥"),e("code",null,"pk"),l("æ±åå¸å¼")]),e("li",null,"æªåå 160 ä½ä½ä¸ºä»¥å¤ªåçå°å")]),e("p",null,[l("ç¨æ·çç§é¥åå°åä¸èµ·ç»æäºä»¥å¤ªåçè´¦æ·ï¼å¯ä»¥åå¨ä½é¢ãå起交æçï¼æ¯ç¹å¸çä½é¢æ¯éè¿è®¡ç®ææç"),e("code",null,"UTXO"),l("å¾å°çï¼è䏿¯å以太å䏿 ·åå¨å¨è´¦æ·ä¸ï¼ã")]),e("p",null,[l("å
¶å®"),e("code",null,"Ethereum"),l("è´¦æ·å为两ç§ç±»åï¼ä¸è¿°æ¹å¼çæçå«"),e("code",null,"Externally Owned A
1ccounts(EOA)"),l("ï¼å¤é¨è´¦æ·ï¼ä¹å°±æ¯å¸¸è§ç¨æ·æ¥æçè´¦æ·ï¼ä¸»è¦æ¯ç¨æ¥åé/æ¥æ¶"),e("code",null,"Ether"),l("代叿è åæºè½å约åé交æï¼å³è°ç¨æºè½å约ï¼ã")]),e("p",null,[l("èå¦ä¸ç§åæ¯"),e("code",null,"Contract Accounts"),l("ï¼å约账æ·ï¼ä¸åäºå¤é¨è´¦æ·ï¼è¿ç§è´¦æ·æ¯æ²¡æå¯¹åºçç§é¥çï¼èæ¯å¨é¨ç½²åçº¦çæ¶åçæçï¼å卿ºè½å约代ç ãå¼å¾æ³¨æçæ¯ï¼å约账æ·å¿ é¡»è¦è¢«å¤é¨è´¦æ·æè å ¶ä»å约è°ç¨æè½å¤åéææ¥æ¶"),e("code",null,"Ether"),l("ï¼èä¸è½èªå·±ä¸»å¨æ§è¡äº¤æã")]),e("h3",{id:"é±å ",tabindex:"-1"},[l("é±å "),e("a",{class:"header-anchor",href:"#é±å ","aria-hidden":"true"},"#")]),e("p",null,[l("åå¨å管ç"),e("code",null,"Ethereum"),l("è´¦æ·ç软件/æä»¶ç§°ä¸ºé±å ï¼æä¾äºè¯¸å¦äº¤æç¾åãä½é¢ç®¡ççåè½ãé±å çæä¸»è¦æä¸¤ç§æ¹å¼ï¼éç¡®å®æ§éæºçæææ ¹æ®éæºç§åçæã")]),e("h3",{id:"gas",tabindex:"-1"},[l("Gas "),e("a",{class:"header-anchor",href:"#gas","aria-hidden":"true"},"#")]),e("p",null,[e("code",null,"Ethereum"),l("ç½ç»ä¸çæä½ä¹éè¦âæç»è´¹âï¼ç§°ä¸º"),e("code",null,"Gas"),l("ï¼å¨åºåé¾ä¸é¨ç½²æºè½å约以å转账é½éè¦æ¶èä¸å®åä½ç"),e("code",null,"Gas"),l("ï¼è¿ä¹æ¯é¼å±ç¿å·¥åä¸"),e("code",null,"Ethereum"),l("ç½ç»å»ºè®¾çæ¿å±æºå¶ï¼ä»è使æ´ä¸ªç½ç»æ´å å®å ¨ãå¯é ã")]),e("p",null,[l("æ¯ä¸ªäº¤æé½å¯ä»¥è®¾ç½®ç¸åºç"),e("code",null,"Gas"),l("éå"),e("code",null,"Gas"),l("çä»·æ ¼ï¼è®¾ç½®è¾é«ç"),e("code",null,"Gas"),l("è´¹åå¾å¾ç¿å·¥ä¼æ´å¿«å¤çä½ ç交æï¼ä½ä¸ºäºé¢é²äº¤æå¤æ¬¡æ§è¡æ¶è大é"),e("code",null,"Gas"),l("è´¹ï¼å¯ä»¥éè¿"),e("code",null,"Gas Limit"),l("æ¥è®¾ç½®éå¶ã"),e("code",null,"Gas"),l("ç¸å ³ä¿¡æ¯å¯ä»¥éè¿ "),e("a",{href:"https://etherscan.io/gastracker",target:"_blank",rel:"noopener"},"Ethereum Gas Tracker"),l(" å·¥å ·è¿è¡æ¥è¯¢ã")]),e("pre",{class:"shiki shiki-themes vitesse-dark vitesse-light",style:{"--s-dark":"#dbd7caee","--s-light":"#393a34","--s-dark-bg":"#121212","--s-light-bg":"#ffffff"},tabindex:"0"},[e("code",{class:"language-sh"},[e("span",{class:"line"},[e("span",{style:{"--s-dark":"#80A665","--s-light":"#59873A"}},"If"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," START_GAS"),e("span",{style:{"--s-dark":"#C99076","--s-light":"#A65E2B"}}," *"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," GAS_PRICE"),e("span",{style:{"--s-dark":"#CB7676","--s-light":"#AB5959"}}," >"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," caller.balance,"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," halt")]),l(` 2`),e("span",{class:"line"},[e("span",{style:{"--s-dark":"#80A665","--s-light":"#59873A"}},"Deduct"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," START_GAS"),e("span",{style:{"--s-dark":"#C99076","--s-light":"#A65E2B"}}," *"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," GAS_PRICE"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," from"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," caller.balance")]),l(` 3`),e("span",{class:"line"},[e("span",{style:{"--s-dark":"#80A665","--s-light":"#59873A"}},"Set"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," GAS"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," ="),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," START_GAS")]),l(` 4`),e("span",{class:"line"},[e("span",{style:{"--s-dark":"#80A665","--s-light":"#59873A"}},"Run"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," code,"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," deducting"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," from"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," GAS")]),l(` 5`),e("span",{class:"line"},[e("span",{style:{"--s-dark":"#80A665","--s-light":"#59873A"}},"For"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," negative"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," values,"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," add"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," to"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," GAS_REFUND")]),l(` 6`),e("span",{class:"line"},[e("span",{style:{"--s-dark":"#80A665","--s-light":"#59873A"}},"After"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," termination,"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," add"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," GAS_REFUND"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," to"),e("span",{style:{"--s-dark":"#C98A7D","--s-light":"#B56959"}}," caller.balance")])])]),e("h3",{id:"æºè½å约",tabindex:"-1"},[l("æºè½å约 "),e("a",{class:"header-anchor",href:"#æºè½å约","aria-hidden":"true"},"#")]),e("p",null,[l("䏿æå°ï¼"),e("code",null,"Ethereum"),l("åºåé¾ä¸ä» ä» åå¨äº¤æä¿¡æ¯ï¼è¿ä¼åå¨ä¸æ§è¡æºè½å约代ç ã")]),e("p",null,[l("æºè½å约æ§å¶åºç¨å交æé»è¾ï¼"),e("code",null,"Ethereum"),l("ç³»ç»ä¸çæºè½å约éç¨ä¸å±"),e("code",null,"Solidity"),l("è¯è¨ï¼è¯æ³ç±»ä¼¼äº"),e("code",null,"JavaScript"),l("ï¼é¤æ¤ä¹å¤ï¼è¿æ"),e("code",null,"Vyper"),l("ã"),e("code",null,"Bamboo"),l("çç¼ç¨è¯è¨ãæºè½å约代ç ä¼è¢«ç¼è¯ä¸ºåèç å¹¶é¨ç½²è³åºåé¾ä¸ï¼ä¸æ¦ä¸é¾åä¸å¯ä»¥åç¼è¾ã"),e("code",null,"EVM"),l("ä½ä¸ºä¸ä¸ªæºè½å约æ§è¡ç¯å¢ï¼
6è½å¤ä¿éæ§è¡ç»æçç¡®å®æ§ã")]),e("h4",{id:"æºè½å约示ä¾ï¼ä¼ç¹",tabindex:"-1"},[l("æºè½å约示ä¾ï¼ä¼ç¹ "),e("a",{class:"header-anchor",href:"#æºè½å约示ä¾ï¼ä¼ç¹","aria-hidden":"true"},"#")]),e("p",null,"让æä»¬æ³è±¡ä¸ä¸ªæ´å¤æçåºæ¯ï¼å设æè¦ä¼ç¹ 10000 å
å¼åä¸ä¸ªæ°äº§åï¼éè¿ç°æä¼ç¹å¹³å°éè¦æ¯ä»ä¸è²çæç»è´¹ï¼èä¸å¾é¾è§£å³ä¿¡ä»»é®é¢ï¼äºæ¯ï¼å¯ä»¥éè¿ä¸ä¸ªä¼ç¹ç DApp æ¥è§£å³è¿ä¸ªé®é¢ã"),e("p",null,"å
为ä¼ç¹è®¾ç½®ä¸äºè§å"),e("ol",null,[e("li",null,"æ¯ä¸ªæ³åä¸ä¼ç¹ç人å¯ä»¥ææ¬¾ 10-10000 å
çéé¢"),e("li",null,"å¦æç®æ éé¢è¾¾æäºï¼éé¢ä¼éè¿æºè½å约åéç»æï¼å³ä¼ç¹å起人ï¼"),e("li",null,"å¦æç®æ å¨ä¸å®æ¶é´å
ï¼å¦ 1 个æï¼æ²¡æè¾¾æï¼ä¼ç¹çèµéä¼åè·¯è¿åè³ä¼ç¹ç¨æ·"),e("li",null,"ä¹å¯ä»¥è®¾ç½®ä¸äºè§åï¼æ¯å¦ä¸å¨åï¼å¦æç®æ é颿²¡æè¾¾æï¼ç¨æ·å¯ä»¥ç³è¯·é款")]),e("p",null,"å 为è¿äºä¼ç¹æ¡æ¬¾æ¯éè¿æºè½å约å®ç°å¹¶é¨ç½²å¨å
¬å¼çåºåé¾ä¸çï¼å³ä½¿æ¯åèµ·è
ä¹ä¸è½ç¯¡æ¹æ¡æ¬¾ï¼ä¸ä»»ä½äººé½å¯ä»¥æ¥çï¼è§£å³äºä¿¡ä»»é®é¢ã"),e("p",null,[l("宿´ä»£ç å¯ä»¥ç¹å»è¿éæ¥çï¼"),e("a",{href:"https://www.toshblocks.com/solidity/complete-example-crowd-funding-smart-contract/",target:"_blank",rel:"noopener"},"Demo")]),e("h3",{id:"交æ",tabindex:"-1"},[l("交æ "),e("a",{class:"header-anchor",href:"#交æ","aria-hidden":"true"},"#")]),e("p",null,[l("å¨"),e("code",null,"Ethereum"),l("ä¸ï¼ä¸ä¸ªå
¸åçäº¤ææ¯æä¹æ ·çå¢ï¼")]),e("ol",null,[e("li",null,"å¼åè
é¨ç½²æºè½å约è³åºåé¾"),e("li",null,"DApp å®ä¾åå约ãä¼ å
¥ç¸åºå¼ä»¥æ§è¡å约"),e("li",null,"DApp 对交æè¿è¡æ°åç¾å"),e("li",null,"æ¬å°å¯¹äº¤æè¿è¡éªè¯"),e("li",null,"广æäº¤æè³ç½ç»ä¸"),e("li",null,"ç¿å·¥èç¹æ¥æ¶äº¤æå¹¶è¿è¡éªè¯"),e("li",null,"ç¿å·¥èç¹ç¡®è®¤å¯ä¿¡åºåå广æè³ç½ç»ä¸"),e("li",null,"æ¬å°èç¹ä¸ç½ç»è¿è¡åæ¥ï¼æ¥æ¶æ°åºå")]),e("h3",{id:"æ¶æ",tabindex:"-1"},[l("æ¶æ "),e("a",{class:"header-anchor",href:"#æ¶æ","aria-hidden":"true"},"#")]),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/ethereum_architecture_simple.png",alt:"ethereum_architecture_simple"})]),e("p",null,[e("code",null,"Ethereum"),l("éç¨çæ¯ä¸ç§"),e("code",null,"Order - Execute - Validate - Update State"),l("çç³»ç»æ¶æãå¨è¿ç§æ¶æä¸ï¼å½äº§çä¸ç¬æ°ç交æï¼ç¿å·¥ä¼è¿è¡"),e("code",null,"PoW"),l("å·¥ä½éè¯ææºå¶çè¿ç®ï¼éªè¯å®æåï¼å°åºåéè¿"),e("code",null,"gossip"),l("å议广æè³ç½ç»ä¸ï¼ç½ç»ä¸çå
¶ä»èç¹æ¥æ¶å°æ°åºååï¼ä¹ä¼å¯¹åºåè¿è¡éªè¯ï¼æç»ï¼æäº¤è³åºåé¾ï¼æ´æ°ç¶æã")]),e("p",null,[l("å
·ä½æ¥çï¼"),e("code",null,"Ethereum"),l("ç³»ç»æå
±è¯å±ãæ°æ®å±ãåºç¨å±çæ ¸å¿ç»ä»¶ï¼å
¶äº¤äºé»è¾å¦ä¸ï¼")]),e("p",null,[e("img",{src:"https://image.pseudoyu.com/images/ethereum_architecture_concrete.png",alt:"ethereum_architecture_concrete"})]),e("p",null,[l("å¦ä¸å¾æç¤ºï¼"),e("code",null,"Ethereum"),l("æ°æ®ç±"),e("code",null,"Transaction Root"),l("å"),e("code",null,"State Root"),l("ç»æã"),e("code",null,"Transaction Root"),l("æ¯ææäº¤æç»æçæ ï¼å
å«"),e("code",null,"From"),l("ã"),e("code",null,"To"),l("ã"),e("code",null,"Data"),l("ã"),e("code",null,"Value"),l("ã"),e("code",null,"Gas Limit"),l("å"),e("code",null,"Gas Price"),l("ï¼è"),e("code",null,"State Root"),l("忝ææè´¦æ·ç»æçæ ï¼å
å«"),e("code",null,"Address"),l("ã"),e("code",null,"Code"),l("ã"),e("code",null,"Storage"),l("ã"),e("code",null,"Balance"),l("å"),e("code",null,"Nonce"),l("ã")]),e("h2",{id:"æ»ç»",tabindex:"-1"},[l("æ»ç» "),e("a",{class:"header-anchor",href:"#æ»ç»","aria-hidden":"true"},"#")]),e("p",null,[l("以ä¸å°±æ¯å¯¹"),e("code",null,"Ethereum"),l("æ ¸å¿ææ¯çä¸äºè§£è¯»ï¼æºè½å约çå¼å
¥ç»åºåé¾çåºç¨å¸¦æ¥äºæ´å¤å¯è½æ§ï¼ä½ä»æå¾å¤å®å
¨æ§ãéç§æ§åæçé®é¢éè¦èèãé坹夿çä¼ä¸çº§åºç¨åºæ¯ï¼èç龿¯æ´å¥½çéæ©ï¼åç»å°ä¼å¯¹"),e("code",null,"Hyperledger Fabric"),l("è¿è¡è¯¦å°½çåæï¼æ¬è¯·æå¾
ï¼")]),e("h2",{id:"åèèµæ",tabindex:"-1"},[l("åèèµæ "),e("a",{class:"header-anchor",href:"#åèèµæ","aria-hidden":"true"},"#")]),e("blockquote",null,[e("ol",null,[e("li",null,[e("a",{href:"https://msccs.cs.hku.hk/public/courses/2020/COMP7408A/",target:"_blank",rel:"noopener"},"COMP7408 Distributed Ledger and Blockchain Technology"),l(", "),e("em",null,"Professor S.M. Yiu, HKU")]),e("li",null,[e("a",{href:"https://www.udacity.com/course/blockchain-developer-nanodegree--nd1309",target:"_blank",rel:"noopener"},"Udacity Blockchain Developer Nanodegree"),l(", "),e("em",null,"Udacity")]),e("li",null,[e("a",{href:"https://www.bilibili.com/video/BV1Vt411X7JF",target:"_blank",rel:"noopener"},"åºå龿æ¯ä¸åºç¨"),l("ï¼"),e("em",null,"èè»ï¼å京大å¦")]),e("li",null,[e("a",{href:"https://www.ituring.com.cn/book/2434",target:"_blank",rel:"noopener"},"åºå龿æ¯è¿é¶ä¸å®æ"),l("ï¼"),e("em",null,"è¡äº® æå¯é· æ¢ç§æ³¢ï¼æµæ±å¤§å¦ | è¶£é¾ç§æ")]),e("li",null,[e("a",{href:"https://www.zastrin.com/courses/ethereum-primer/lessons/1-5",target:"_blank",rel:"noopener"},"Ethereum Architecture"),l(", "),e("em",null,"zastrin")]),e("li",null,[e("a",{href:"https://www.toshblocks.com/solidity/complete-example-crowd-funding-smart-contract/",target:"_blank",rel:"noopener"},"Learn Solidity: Complete Example: Crowd Funding Smart Contract"),l(", "),e("em",null,"TOSHBLOCKS")]
6)])])],-1)])),_:1})}}};export{g as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.