# demo 偷吃步 ## 乙太幣の單位 ![](https://i.imgur.com/eSLQBnf.png) ## 開一個錢包go go go ! ! ! ### MetaMask * MetaMask 是一個「用瀏覽器就能訪問的以太坊入口」,或者說是一個讓用戶以更低門檻與以太坊網絡進行交互的工具。它的本質是一個私鑰管理器,但你可以通過它直接參與各種的鏈上金融應用(DeFi)、遊戲、域名(ENS)、跨境支付等等。 * [出發摟,點開創帳號](https://chrome.google.com/webstore/category/extensions) * Ropsten Test Network * 以太坊公開測試區塊鏈和網路,使用工作證明共識(挖礦)。在這個網路上的ETH沒有價值。 ### test ether faucet * 一個簡單的合約 ```solidity= // 合約開始啦 contract Faucet { // Give out ether to anyone who asks function withdraw(uint withdraw_amount) public { // Limit withdrawal amount require(withdraw_amount <= 100000000000000000); // Send the amount to the address that requested it msg.sender.transfer(withdraw_amount); } // Accept any incoming amount function () public payable {} } ``` * [Remix編譯器](https://remix.ethereum.org/) ### 啊我要怎麼讓合約上鏈? (版本很重要我使用的是0.4.19) - [ ] 建立一個新的資料夾放入範例code - [ ] 選擇版本 然後compile - [ ] DEPLOY & RUN TRANSACTIONS - [ ] 在區塊鏈上創建合約 - [ ] 放錢錢進去 - [ ] 完成啦 :::danger 這只是簡述,詳細內容請各位去看官方文件或詳閱Mastering Ethereum ::: ### 我們做了啥? 1. 我們使用MetaMask創建了一個錢包,並且使用Ropsten測試網路上的一個faucet為它儲值。我們收到了發送到錢包以太坊地址的ether。然後我們把ether發送到faucet的以太坊地址。 2. 我們在Solidity中寫了一個faucet合約。使用Remix IDE將合約編譯為EVM Bytecode 。使用Remix進行交易,並在Ropsten區塊鏈上登記faucet合約。一旦登記,faucet合約有一個以太坊地址,我們發送一些ether。最後,我們構建了一個交易來調用 withdraw 函數,併成功請求了0.1 ether。該合約檢查了我們的請求,發送給我們0.1 ether並進行內部交易。 0x17B479D8b5D97FdFb4E7977A94bBEd827D76231B