# 第五週實習日誌(9/27-10/1) [TOC] ###### tags: `實習日誌` `區塊鏈` --- ## 2021.09.27(一) ---- * Goal :a: * [完成solidity開發文件](https://hackmd.io/hECPn0QaQxS9S11ISlO4cg) * 解決storage和memory在gas消耗上問題 * Today Finished :100: * [完成solidity開發文件](https://hackmd.io/hECPn0QaQxS9S11ISlO4cg) * [HyperLedger Fabric文件](https://hackmd.io/NO1UAwKsT3-0-yP6645KTQ) * To be developing :+1: * 加速 run 一個 ethereum node --- ## 2021.09.28(二) ---- * Goal :a: * 成功 run ethereum node 在 vmware * 解決storage和memory在gas消耗上問題 * Today Finished :100: * [完成solidity開發文件](https://hackmd.io/hECPn0QaQxS9S11ISlO4cg) * geth---> rpc ipc * [成功在公司run ethereum node 也寫了詳細文件](https://hackmd.io/NO1UAwKsT3-0-yP6645KTQ) * To be developing :+1: * [私有鏈監控](https://dotblogs.com.tw/explooosion/2018/07/30/200754) * 我們一開始有開了兩台 AWS 機器,目前都在其中一台練習,另外一台現在也仿造之前的步驟裝好環境,使用相同的 Genesis.json(一定要一模一樣)檔案建立、開啟 Private Chain,並建立好一個帳號,然後先不要進行挖礦。 --- ## 2021.09.29(三) ---- * Goal :a: * [完成solidity開發文件](https://hackmd.io/hECPn0QaQxS9S11ISlO4cg) * [私有鏈監控](https://dotblogs.com.tw/explooosion/2018/07/30/200754) * Today Finished :100: * [完成solidity開發文件](https://hackmd.io/hECPn0QaQxS9S11ISlO4cg) * 智能合約上已經可以寫kecakk加密,可能不需要另外加密 * 私有鏈監控開發+文件 * Struct 一般來講uint size變小 不會省多少gas 但在struct裡 gas fee費用—> uint8 < uint16 < uint32 "“Struct packing more tightly”—>to save gas * To be developing :+1: * [私有鏈監控](https://dotblogs.com.tw/explooosion/2018/07/30/200754) ---- ## 2021.09.30(四) ---- * Goal :a: * [完成solidity開發文件](https://hackmd.io/hECPn0QaQxS9S11ISlO4cg) * [私有鏈監控](https://dotblogs.com.tw/explooosion/2018/07/30/200754) * Today Finished :100: * [完成solidity開發文件](https://hackmd.io/hECPn0QaQxS9S11ISlO4cg) * 智能合約上已經可以寫kecakk加密,可能不需要另外加密 * 私有鏈監控開發+文件 * To be developing :+1: * NFT寫在私鏈上 ---- ## 2021.10.01(五) ---- * Goal :a: * [完成solidity開發文件](https://hackmd.io/hECPn0QaQxS9S11ISlO4cg) * [私有鏈監控](https://dotblogs.com.tw/explooosion/2018/07/30/200754) * [web3.0.js開發文件](https://hackmd.io/TDxW3ZYxQkS3osbh3ghvsQ) * Today Finished :100: * [完成solidity開發文件](https://hackmd.io/hECPn0QaQxS9S11ISlO4cg) * [web3.0.js開發文件](https://hackmd.io/TDxW3ZYxQkS3osbh3ghvsQ) * To be developing :+1: * [web3.0.js開發文件](https://hackmd.io/TDxW3ZYxQkS3osbh3ghvsQ) * react.js開發文件 * 如何讓 nodes 與 blockchain 溝通(read/write in blockchain) Ethereum is made up of nodes that all share a copy of the same data 內部: 自己set up your own private ethereum node host your own Ethereum node as a provider. 外部: Web3 Providers API—>infura tells our code which node we should be talking to handle our reads and writes like setting the URL of the remote web server for your API calls in a traditional web app * ABI * Web3.js 和 智能合約互動 需 (1)address (2)ABI * var myContract = new web3js.eth.Contract(myABI, myContractAddress); // Instantiate myContract * Dapp後端 * 撰寫智能合約原始碼(solidity) * 智能合約要先compile成bytecode(binary code)—>EVM才可執行 * deploy合約—>把bytecode(binary code)透過RPC 或 IPC儲存在鏈上(透過一個transaction)—>最後取得獨一無二的transaction address * 若要寫程式呼叫這個智能合約,要把資料發送到transaction address * Ethereum node會根據輸入資料,決定要執行智能合約中哪一個function和輸入參數 * Dapp前端 * web3.js + RPC接上ethereum * 將Host在本地端 ethereum node 去讀取智能合約ABI
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up