[爆卦]github指令是什麼?優點缺點精華區懶人包

雖然這篇github指令鄉民發文沒有被收入到精華區:在github指令這個話題中,我們另外找到其它相關的精選爆讚文章

在 github指令產品中有50篇Facebook貼文,粉絲數超過3,460的網紅Taipei Ethereum Meetup,也在其Facebook貼文中提到, 📜 [專欄新文章] Optimistic Rollup 就這樣用(2) ✍️ Juin Chiu 📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium ERC721 的儲值、轉移與提領 TL;...

github指令 在 工具王 阿璋 Instagram 的最佳解答

2021-04-04 20:32:18

【#程式教學】「想學會寫程式,必先練此功!」 新手必備✨C語言懶人包✨  大家千呼萬喚的C語言懶人包來啦🤟🏻一起看下去!!!!  1️⃣C語言:入門基本功💪🏻 C語言是個超~強大的程式語言,C語言靈活高效的運算和豐富的功能性,以及可以跨平台使用的特點,成為了近30年來用途最為廣泛的語言。...

  • github指令 在 Taipei Ethereum Meetup Facebook 的最佳貼文

    2021-06-11 17:57:08
    有 5 人按讚

    📜 [專欄新文章] Optimistic Rollup 就這樣用(2)

    ✍️ Juin Chiu

    📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium

    ERC721 的儲值、轉移與提領

    TL;DR

    本文會跳過 Optimistic Rollup 的介紹而直接實際演示,關於 Optimistic Rollup 的概念與設計原理筆者將在日後另撰文說明,有興趣的讀者可以先參考下列三篇文章(由淺入深):1. OVM Deep Dive 2. (Almost) Everything you need to know about Optimistic Rollup 3. How does Optimism’s Rollup really work?

    本文將演示一個 Optimism Rollup 的 ERC721 範例,程式碼在這裡。

    本演示大量參考了以下範例:Optimistic Rollup Example: ERC20。

    本演示所使用的 ERC721 Gateway 合約來自這個提案,目前尚未成為官方標準。

    環境設置

    Git

    Node.js

    Yarn

    Docker

    Docker-compose

    筆者沒有碰到環境相容問題,但是建議都升到最新版本, Node.js 使用 v16.1.0 或以上版本

    Optimism 服務啟動

    有關 Optimisim 的所有服務,都包裝在 Optimism 這個超大專案當中了,直接使用原始碼進行組建:

    $ git clone git@github.com:ethereum-optimism/optimism.git$ cd optimism$ yarn$ yarn build

    組建完成後,就可以在本機啟動服務了:

    $ cd ops$ docker-compose build$ docker-compose up

    這個指令會啟動數個服務,包括:

    L1 Ethereum Node (EVM)

    L2 Ethereum Node (OVM)

    Batch Submitter

    Data Transport Layer

    Deployer

    Relayer

    Verifier

    Deployer 服務中的一個參數要特別注意: FRAUD_PROOF_WINDOW_SECONDS,這個就是 OPtimistic Rollup 的挑戰期,代表使用者出金(Withdraw)需等候的時長。在本篇演示中預設為 0 秒。

    如果有需要重啟,記得把整個 Docker Volume 也清乾淨,例如: docker-compose down -v

    Optimism 整合測試

    在繼續接下來的演示之前,我們需要先確認 Optimism 是否有順利啟動,特別是 Relayer 是否運作正常,因此我們需要先進行整合測試:

    $ cd optimism/integration-tests$ yarn build:integration$ yarn test:integration

    確保 L1 <--> L2 Communication 相關測試通過後再繼續執行接下來的演示內容。

    啟動服務及部署合約需要花費一些時間,運行一段時間(約 120 秒)之後再執行測試,如果測試結果全部皆為 Fail,可能是 Optimism 尚未啟動完成,再等待一段時間即可。

    ERC721 合約部署

    Optimism 啟動成功並且完成整合測試後,接下來進行 ERC721 合約的部署。筆者已將合約及部署腳本放在 optimistic-rollup-example-erc721 這個專案中:

    $ git clone git@github.com:ethereum-optimism/optimistic-rollup-example-erc721.git$ cd optimistic-rollup-example-erc721$ yarn install$ yarn compile

    接下來我們需要部署以下合約:

    ERC721,部署於 L1

    L2DepositedEERC721,部署於 L2

    OVM_L1ERC721Gateway,部署於 L1

    OVM_L1ERC721Gateway 只部署在 L1 上,顧名思義它就是 L1 <=> L2 的「門戶」,提供 Deposit / Withdraw 兩個基本功能,使用者必須透過這個合約來進出 L2。

    雖然 OVM_L1ERC20Gateway 是 Optimistic Rollup 官方提供的合約。但是開發者也可以依需求自行設計自己的「門戶」。

    OVM_L1ERC20Gateway 目前沒有 Optimism 的官方實作,本演示所使用的 ERC721 Gateway 合約來自這個提案,目前尚未成為官方標準。

    接下來,我們直接用腳本進行部署:

    $ node ./deploy.jsDeploying L1 ERC721...L1 ERC2721 Contract Address: 0xFD471836031dc5108809D173A067e8486B9047A3Deploying L2 ERC721...L2 ERC721 Contract Address: 0x09635F643e140090A9A8Dcd712eD6285858ceBefDeploying L1 ERC721 Gateway...L1 ERC721 Gateway Contract Address: 0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547ccInitializing L2 ERC721...

    ERC721 鑄造、儲值、轉移與提領

    鑄造(L1)

    初始狀態如下,所有帳戶皆尚未持有任何代幣:

    接下來,我們將鑄造 2 個代幣以進行接下來的演示。首先,進入 ETH(L1) 的 Console:

    $ npx hardhat console --network ethWelcome to Node.js v16.1.0.Type ".help" for more information.>

    取得 Deployer / User 帳戶:

    // In Hardhat ETH Console

    > let accounts = await ethers.getSigners()

    > let deployer = accounts[0]

    > let user = accounts[1]

    取得 ERC721 及 OVM_L1ERC721Gateway 合約物件,合約地址可以從部署訊息中取得:

    // In Hardhat ETH Console

    > let ERC721_abi = await artifacts.readArtifact("ExampleToken").then(c => c.abi)

    > let ERC721 = new ethers.Contract("0xFD471836031dc5108809D173A067e8486B9047A3", ERC721_abi)

    > let Gateway_abi = await artifacts.readArtifact("OVM_L1ERC721Gateway").then(c => c.abi)

    > let Gateway = new ethers.Contract("0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547cc", Gateway_abi)

    鑄造兩個 ERC721 代幣:

    // In Hardhat ETH Console

    > await ERC721.connect(deployer).mintToken(deployer.address, "foo")

    { hash: "...", ...}

    > await ERC721.connect(deployer).mintToken(deployer.address, "bar")

    { hash: "...", ...}

    只有合約的 Owner(deployer) 可以進行鑄造的操作。

    確認 Deployer 餘額:

    > await ERC721.connect(deployer).balanceOf(deployer.address)

    BigNumber { _hex: '0x02', _isBigNumber: true } // 2

    確認代幣的 TokenID 與 Owner:

    > await ERC721.connect(deployer).ownerOf(1)

    '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266' // deployer

    > await ERC721.connect(deployer).ownerOf(2)

    '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266' // deployer

    儲值(L1 => L2)

    完成以上步驟後,目前的狀態如下:

    接下來,授權 OVM_L1ERC721Gateway使用 TokenID 為 2 的代幣:

    // In Hardhat ETH Console

    > await ERC721.connect(deployer).approve("0xcbEAF3BDe82155F56486Fb5a1072cb8baAf547cc", 2)

    { hash: "...", ...}

    在 OVM_L1ERC721Gateway 合約呼叫 Deposit,儲值 TokenID 為 2 的代幣:

    // In Hardhat ETH Console

    > await Gateway.connect(deployer).deposit(2)

    { hash: "...", ...}

    我們可以到 Optimism (L2) 的 Console 確認入金是否成功:

    $ npx hardhat console --network optimismWelcome to Node.js v16.1.0.Type ".help" for more information.>

    取得 Deployer / User 帳戶:

    // In Hardhat Optimism Console

    > let accounts = await ethers.getSigners()

    > let deployer = accounts[0]

    > let user = accounts[1]

    取得 L2DepositedERC721 合約物件,合約地址可以從部署訊息中取得:

    // In Hardhat Optimism Console

    > let L2ERC721_abi = await artifacts.readArtifact("OVM_L2DepositedERC721").then(c => c.abi)

    > let L2DepositedERC721 = new ethers.Contract("0x09635F643e140090A9A8Dcd712eD6285858ceBef", L2ERC721_abi)

    確認入金是否成功:

    // In Hardhat Optimism Console

    > await L2DepositedERC721.connect(deployer).balanceOf(deployer.address)

    BigNumber { _hex: '0x01', _isBigNumber: true } // 1

    > await L2DepositedERC721.connect(deployer).ownerOf(2)

    '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266' // deployer

    ERC721 轉移(L2 <=> L2)

    完成以上步驟後,目前的狀態如下:

    接下來,我們在 L2 從 Deployer 轉移代幣給 User:

    // In Hardhat Optimism Console

    > await L2DepositedERC721.connect(user).balanceOf(user.address)

    BigNumber { _hex: '0x00', _isBigNumber: true } // 0

    > await L2DepositedERC721.connect(deployer).transferFrom(depoyer.address, user.address, 2)

    { hash: "..." ...}

    > await L2DepositedERC721.connect(user).balanceOf(user.address)

    BigNumber { _hex: '0x01', _isBigNumber: true } // 1

    > await L2DepositedERC721.connect(user).ownerOf(2)

    '0x70997970C51812dc3A010C7d01b50e0d17dc79C8' // user

    ERC721 提領(L2 => L1)

    完成以上步驟後,目前的狀態如下:

    接下來,我們用 User 帳戶提領資金,在 L2DepositedERC721 合約呼叫 Withdraw:

    // In Hardhat Optimism Console

    > await L2DepositedERC721.connect(user).withdraw(2)

    { hash: "..." ...}

    > await L2DepositedERC721.connect(user).balanceOf(user.address)

    BigNumber { _hex: '0x00', _isBigNumber: true }

    最後,檢查在 L1 是否提領成功:

    // In Hardhat ETH Console

    > await ERC721.connect(user).balanceOf(user.address)

    BigNumber { _hex: '0x01', _isBigNumber: true } // 1

    > await ERC721.connect(deployer).balanceOf(deployer.address)

    BigNumber { _hex: '0x01', _isBigNumber: true } // 1

    > await ERC721.connect(user).ownerOf(2)

    '0x70997970C51812dc3A010C7d01b50e0d17dc79C8' // user

    由於挑戰期為 0 秒,因此提領幾乎無需等待時間,頂多只需數秒鐘

    做完上述所有操作,最終狀態應該如下:

    總結

    本文演示了:

    Optimistic Rollup 相關服務的本機部署

    ERC721 L1 => L2 的儲值(Deposit)

    ERC721 L2 帳戶之間轉移(Transfer)

    ERC721 L2 => L1 的提領(Withdraw)

    筆者未來將繼續擴充此系列的教學內容,例如支援其他標準的合約如 ERC1155,以及如何運行 Optimistic Rollup 生態系中最重要的驗證者(Verifier),敬請期待。

    參考資料

    OVM Deep Dive

    (Almost) Everything you need to know about Optimistic Rollup

    How does Optimism’s Rollup really work?

    Optimistic Rollup Official Documentation

    Ethers Documentation (v5)

    Optimistic Rollup Example: ERC20(Github)

    Optimism (Github)

    optimism-tutorial (Github)

    l1-l2-deposit-withdrawal (Github)

    Proof-of-concept ERC721 Bridge Implementation (Github)

    Optimistic Rollup 就這樣用(2) was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.

    👏 歡迎轉載分享鼓掌

  • github指令 在 矽谷牛的耕田筆記 Facebook 的最讚貼文

    2021-06-05 09:53:38
    有 57 人按讚

    本文延續前一篇文章,作者探討十五種 Kubernetes 不該使用的部署與維運模式,總共三篇,每篇五種。

    Using Kubectl as a debugging tool
    作者認為一個良好的 Kubernetes 叢集必定要有一個相對應個可觀測性工具,包含 Metrics/Log/Tracing 等。對於一個維運人說來說,今天要處理事情時,第一件事情如果還是慢慢的用 kubectl 來執行 get, describe ,log 等指令找問題的話就太慢了,這類型的工具都應該只是輔助使用,真正還是要依賴有效的監控系統,不論是常見的系統指標,應用程式狀態甚至是應用程式獨特的指標等,將這些資訊整合到一個方便顯示的儀表板,甚至搭配對應的 Alert 功能來達到主動通知。

    Misunderstanding Kubernetes network concepts
    Kubernetes 內提供的網路功能很容易被搞混,Service(ClusterIP, NodePort, LoadBalancer) 與 Ingress 的差異到底是什麼,很多初次踏入 Kubernetes 的玩家沒有特別去理解差異,只知道應用程式部署後就可以通了。Service Mesh 這個概念作者也推薦去學習與瞭解,知道這個概念是什麼,以及想要什麼解決問題就好,因為並非不是每個叢集都真的需要一套 Service Mesh 的解決方案,但是理解這個概念未來就有能力知道什麼時候需要導入。

    Using permanent staging environments instead of dynamic environments
    對於應用程式開發者來說,如何於 Kubernetes 環境上測試新功能一直都是一個困難的問題。大部分的團隊中都會有 QA/Staging/Production/Dev(甚至更多)的環境,假設 Dev 環境可以供開發者測試,這些開發者要如何確保自己的修改沒有問題且通過整合測試。
    一個常見的問題是假如多個開發者同事部署自己的程式碼到固定環境中,有可能會造成互相干擾,導致問題發生時沒有辦法正確的判別問題是誰產生的。
    作者提到一種作法就是透過預借的概念,確保每個開發者使用叢集時都不會有他人干擾,然而這個問題也會引發其他問題,譬如開發者間要互相協調時間,同時每個人用完環境後都要還原成穩定的狀態,以免干擾下一位的使用。

    作者推薦使用動態叢集的方式來進行測試,使用 Github PR 為範例,當 PR 開啟時,動態創建 Kubernetes 叢集供測試,當 PR 合併後就會將該 Cluster 給移除。透過這種範例每個開發者都可以有獨立的環境進行測試彼此不干擾,同時也會隨者程式碼的合併而自動回收環境,也不需要擔心環境污染問題。

    Mixing production and non-production clusters
    任何團隊一定要有正式生產環境的叢集跟其他叢集分隔開來,千萬不能使用 namespace 的方式於一個叢集中同時維護生產與非生產環境。譬如
    1. 任何人操作 Kubernetes 都很容易失誤,譬如指令下錯,指向錯的物件。這類型的操作都有可能導致該叢集上生產環境被誤刪
    2. namespace 的隔離性不好,實際上很多物件彼此還是可以互相存與溝通,這部分也有其他的隱憂

    詳細原文可以參考下列連結。

    https://medium.com/containers-101/kubernetes-deployment-antipatterns-part-2-2af25a710bc0

  • github指令 在 Taipei Ethereum Meetup Facebook 的最佳貼文

    2021-06-02 13:57:08
    有 4 人按讚

    📜 [專欄新文章] Optimistic Rollup 就這樣用(1)

    ✍️ Juin Chiu

    📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium

    ERC20 的入金、轉帳與出金

    TL;DR

    本文會跳過 Optimistic Rollup 的介紹而直接實際演示,關於 Optimistic Rollup 的概念與設計原理我將在日後另撰文說明,有興趣的讀者可以先參考下列三篇文章(由淺入深):1. OVM Deep Dive 2. (Almost) Everything you need to know about Optimistic Rollup 3. How does Optimism’s Rollup really work?

    本文將演示一個 Optimism Rollup 範例,程式碼在這裡。

    本演示大量參考了以下這兩個官方範例:optimism-tutorial、l1-l2-deposit-withdrawal。

    環境設置

    Git

    Node.js

    Yarn

    Docker

    Docker-compose

    筆者沒有碰到環境相容問題,但是建議都升到最新版本, Node.js 使用 v16.1.0 或以上版本

    Optimism 服務啟動

    有關 Optimisim 的所有服務,都包裝在 Optimism 這個超大專案當中了,直接使用原始碼進行組建:

    $ git clone git@github.com:ethereum-optimism/optimism.git$ cd optimism$ yarn$ yarn build

    組建完成後,就可以在本機啟動服務了:

    $ cd ops$ docker-compose build$ docker-compose up

    這個指令會啟動數個服務,包括:

    L1 Ethereum Node (EVM)

    L2 Ethereum Node (OVM)

    Batch Submitter

    Data Transport Layer

    Deployer

    Relayer

    Verifier

    Deployer 服務中的一個參數要特別注意: FRAUD_PROOF_WINDOW_SECONDS,這個就是 Optimistic Rollup 的挑戰期,代表使用者出金(Withdraw)需等候的時長。在本篇演示中預設為 0 秒。

    如果有需要重啟,記得把整個 Docker Volume 也清乾淨,例如: docker-compose down -v

    Optimism 整合測試

    在繼續接下來的演示之前,我們需要先確認 Optimism 是否有順利啟動,特別是 Relayer 是否運作正常,因此我們需要先進行整合測試:

    $ cd optimism/integration-tests$ yarn build:integration$ yarn test:integration

    確保 L1 <--> L2 Communication 相關測試通過後再繼續執行接下來的演示內容。

    啟動服務及部署合約需要花費一些時間,運行一段時間(約 120 秒)之後再執行測試,如果測試結果全部皆為 Fail,可能是 Optimism 尚未啟動完成,再等待一段時間即可。

    ERC20 合約部署

    Optimism 啟動成功並且完成整合測試後,接下來進行 ERC20 合約的部署。筆者已將合約及部署腳本放在 optimistic-rollup-example-erc20 這個專案中:

    $ git clone git@github.com:ethereum-optimism/optimistic-rollup-example-erc20.git$ cd optimistic-rollup-example-erc20$ yarn install$ yarn compile

    接下來我們需要部署以下合約:

    ERC20,部署於 L1

    L2DepositedEERC20,部署於 L2

    OVM_L1ERC20Gateway,部署於 L1

    其中,ERC20 與 L2DepositedERC20 是由上面的範例專案編譯的,可以直接在範例專案中直接取得 ABI;而 OVM_L1ERC20Gateway 則是由 Optimism 編譯的,屬於 Optimistic Rollup 協定的一部分,無法直接在範例專案中取得 ABI。

    因此在部署以上三個合約前,我們需先手動將 OVM_L1ERC20Gateway 編譯後的生成品 (Artifacts)——即 ABI,複製到此專案中:

    $ cp -r ~/projects/optimism/packages/contracts/artifacts/contracts/optimistic-ethereum/OVM/bridge/tokens/OVM_L1ERC20Gateway.sol ~/projects/optimistic-rollup-example-erc20/artifacts/contracts/

    OVM_L1ERC20Gateway 只部署在 L1 上,顧名思義它就是 L1 <=> L2 的「門戶」,提供 Deposit / Withdraw 兩個基本功能,使用者必須透過這個合約來進出 L2。

    雖然 OVM_L1ERC20Gateway 是 Optimistic Rollup 官方提供的合約。但是開發者也可以依需求自行設計自己的「門戶」。

    接下來,我們直接用腳本進行部署:

    $ node ./deploy.jsDeploying L1 ERC20...Deploying L1 ERC20...L1 ERC20 Contract Address: 0x1429859428C0aBc9C2C47C8Ee9FBaf82cFA0F20fDeploying L2 ERC20...L2 ERC20 Contract Address: 0x67d269191c92Caf3cD7723F116c85e6E9bf55933Deploying L1 ERC20 Gateway...L1 ERC20 Gateway Contract Address: 0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07Initializing L2 ERC20...

    ERC20 入金、轉帳與出金

    ERC20 入金(L1 => L2)

    目前餘額:

    在合約部署完成後,Deployer 是目前唯一有資金的帳戶,接下來我們就進行入金(Deposit),將 Deployer 的資金從 L1 搬到 L2。

    首先,進入 ETH(L1) 的 Console:

    $ npx hardhat console --network ethWelcome to Node.js v16.1.0.Type ".help" for more information.>

    取得 Deployer / User 帳戶:

    // In Hardhat ETH Console

    > let accounts = await ethers.getSigners()> let deployer = accounts[0]> let user = accounts[1]

    取得 ERC20 及 OVM_L1ERC20Gateway 合約物件,合約地址可以從部署訊息中取得:

    // In Hardhat ETH Console

    > let ERC20_abi = await artifacts.readArtifact("ERC20").then(c => c.abi)> let ERC20 = new ethers.Contract("0x1429859428C0aBc9C2C47C8Ee9FBaf82cFA0F20f", ERC20_abi)> let Gateway_abi = await artifacts.readArtifact("OVM_L1ERC20Gateway").then(c => c.abi)> let Gateway = new ethers.Contract("0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07", Gateway_abi)

    先授權 OVM_L1ERC20Gateway 花費 ERC20:

    // In Hardhat ETH Console

    > await ERC20.connect(deployer).approve("0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07", 10000)> await ERC20.connect(user).approve("0xB0D4afd8879eD9F52b28595d31B441D079B2Ca07", 10000)

    注意:Deployer 及 User 都需要對 OVM_L1ERC20Gateway 進行授權,否則在接下來的出金步驟時 Relayer 會出錯

    接著,在 OVM_L1ERC20Gateway 合約呼叫 Deposit:

    // In Hardhat ETH Console

    > await Gateway.connect(deployer).deposit(1000)

    我們可以到 Optimism (L2) 的 Console 確認入金是否成功:

    $ npx hardhat console --network optimismWelcome to Node.js v16.1.0.Type ".help" for more information.>

    取得 Deployer / User 帳戶:

    // In Hardhat Optimism Console

    > let accounts = await ethers.getSigners()> let deployer = accounts[0]> let user = accounts[1]

    取得 L2DepositedERC20 合約物件,合約地址可以從部署訊息中取得:

    // In Hardhat Optimism Console

    > let L2ERC20_abi = await artifacts.readArtifact("L2DepositedERC20").then(c => c.abi)> let L2DepositedERC20 = new ethers.Contract("0x67d269191c92Caf3cD7723F116c85e6E9bf55933", L2ERC20_abi)

    確認入金是否成功:

    // In Hardhat Optimism Console

    > await L2DepositedERC20.connect(deployer).balanceOf(deployer.address)BigNumber { _hex: '0x03E8', _isBigNumber: true } // 1000

    ERC20 轉帳(L2 <=> L2)

    完成以上步驟後,目前的餘額如下:

    接下來,我們在 L2 從 Deployer 轉移一部分資金給 User:

    // In Hardhat Optimism Console

    > await L2DepositedERC20.connect(user).balanceOf(user.address)BigNumber { _hex: '0x00', _isBigNumber: true } // 0> await L2DepositedERC20.connect(deployer).transfer(user.address, 1000){ hash: "..." ...}> await L2DepositedERC20.connect(wallet_1).balanceOf(user.address)BigNumber { _hex: '0x03E8', _isBigNumber: true } // 1000

    ERC20 出金(L2 => L1)

    完成以上步驟後,目前的餘額如下:

    接下來,我們用 User 帳戶提領資金,在 L2DepositedERC20 合約呼叫 Withdraw:

    // In Hardhat Optimism Console

    > await L2DepositedERC20.connect(user).withdraw(1000){ hash: "..." ...}> await L2DepositedERC20.connect(user).balanceOf(user.address)BigNumber { _hex: '0x00', _isBigNumber: true }

    最後,檢查在 L1 是否提領成功:

    // In Hardhat ETH Console

    > await ERC20.connect(user).balanceOf(user.address)BigNumber { _hex: '0x03E8', _isBigNumber: true } // 1000

    由於挑戰期為 0 秒,因此提領幾乎無需等待時間,頂多只需數秒鐘

    做完上述所有操作,餘額應該如下:

    總結

    本文演示了:

    Optimistic Rollup 相關服務的本機部署

    ERC20 L1 => L2 的入金(Deposit)

    ERC20 L2 帳戶之間轉帳(Transfer)

    ERC20 L2 => L1 的出金(Withdraw)

    筆者未來將繼續擴充此系列的教學內容,例如 ERC721 / ERC1155 的使用方式,敬請期待。

    參考資料

    OVM Deep Dive

    (Almost) Everything you need to know about Optimistic Rollup

    How does Optimism’s Rollup really work?

    Optimistic Rollup Official Documentation

    Ethers Documentation (v5)

    Optimism (Github)

    optimism-tutorial (Github)

    l1-l2-deposit-withdrawal (Github)

    Optimistic Rollup 就這樣用(1) was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.

    👏 歡迎轉載分享鼓掌

你可能也想看看

搜尋相關網站