-
UCRA華盟拉力賽-關山站
這一次的副駕領航員是第一次參加,在第一個SS1的賽段,我們正在熟悉默契,在報路節奏有點搭不上車速,所以意外的掉入水溝,還好順利脫困繼續回到賽道。
由於掉入水溝後,底盤受損,三腳架變形,回到pit開始搶修,也只能調整到可以開的狀態,定位都跑掉了,在SS2也保守駕駛。
SS3是夜賽,由於車輛有些問題,必須保留車況到隔日到賽段,所以也以保守方式駕駛。
經過第一天的事故後,成績好無盡理想,與副駕默契也還沒磨合完畢,我一直思考,第二天賽段要放棄成績輕鬆跑,還是要追趕一下,把成績拉回來,但秒差差1分多鐘,差太多了。
第二日的SS4,我放手一搏,我決定追追看,在前一天晚上,把副駕幹了一頓之後,似乎開始進入狀況,我比前一天的成績進步47秒,也順利完賽,雖然車子還是有問題,車子還是很難開,但我感覺我回來了。
SS5也是最後一個賽段,我更拼命的衝,又比SS4快了10秒,順利完賽,完成了關山站的成績。
雖然這次成績不盡理想,但是這是我與我副駕培養默契的時候,期待下一站我們會有更好默契,更好的成績。
我要謝謝我所有的贊助廠商,有了你們的支持,我才能繼續努力,未來我會盡全力的發揮到最好。
副駕領航員- 高爾賢 Alex
我們會用影像紀錄整個賽事過程
下一站
我們誠心邀請各領域的朋友、店家、老闆
如果你有興趣貼個廣告或做筆交易
然後依個人意願提供一個小贊助
歡迎私訊我們聊聊
#JA_oil / J&A Racing Oil / Taiwan
#南港輪胎 #NankangTyre #AR1 / 南港輪胎粉絲團
#SKII / SK-II TW
#力榮影視器材有限公司 / 力榮影業
#狂人日誌 / 狂人日誌:MadVnz
#SMSGroup / SMS GROUP
#Insta360 / Insta360
#NIKE / Nike
#ProGi / PROGi Install Expertise 源豐本安裝系統
#Qstarz
#GoPro / 運動相機彈藥庫
#UCRA華盟拉力
#雲林泰特拉力車隊
#展鎰車業
#翊陞車業
嘉義通 江佩曄
#雲端多媒體 / 雲端多媒體
#FUMIYA / Fumiya Design
#微風南山 / 微風南山 Breeze Nan Shan
#六級廠專業性能駕駛教練團隊
#Subaru #Impreza #GC8 #STI
#高爾賢 #飛車特技陳聖杰
同時也有1部Youtube影片,追蹤數超過55萬的網紅3cTim哥生活日常,也在其Youtube影片中提到,訂閱3cTim哥頻道⬇︎ http://bit.ly/2MgPy4H 訂閱Tim嫂頻道⬇︎ http://bit.ly/2PEnHMZ 訂閱里帆不煩頻道⬇︎ http://bit.ly/2FNP59c 訂閱Jade Lin林瑋婕頻道⬇︎ http://bit.ly/2D2YK8O 訂閱曾智希Simb...
「install三態」的推薦目錄:
- 關於install三態 在 飛車特技 陳聖杰 Jay Chen Facebook 的最讚貼文
- 關於install三態 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於install三態 在 鬼才阿水Awater Facebook 的最讚貼文
- 關於install三態 在 3cTim哥生活日常 Youtube 的精選貼文
- 關於install三態 在 故障信號-暫態輔助接點GVAD0110安裝和測試 - YouTube 的評價
- 關於install三態 在 12 軟體安裝介紹| 資料科學與R語言 - Yi-Ju Tseng 的評價
- 關於install三態 在 《酒精噴霧機電池安裝注意事項》 #HANLIN自動 ... - Facebook 的評價
install三態 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] 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.
👏 歡迎轉載分享鼓掌
install三態 在 鬼才阿水Awater Facebook 的最讚貼文
遠端教學的重點與核心
教育部因應疫情的本土案例持續增長,宣布全台學生暫停前往校園上課,以免發生群聚感染,除了經濟弱勢族群會由地方政府準備相關設備與網路卡,用以讓學生的學習不會中斷,藉著這次的機會,來與大家聊聊遠端教學。
易讀版: https://awater.tw/archives/520
一、設備與硬體
首先設備與硬體的使用能力在未來是越發重要,資訊化越來越快速的現在,對於各式設備的使用能力與熟悉度,的確會影響到未來的發展選擇性。
在我小時候電腦剛普及時,就有人說過電腦與網路是我們這個世代的階級革命,扣除掉幾個少數真正因此而一飛衝天的人,事實上電腦與網路的使用能力,幾乎就是基本的工具,越早接觸會有越高的熟悉度。
像我從有印象時,我家就有286的電腦了,所以人生最早學會的單字就是「play」「install」「setup」等,,可以知道我從小就在Dos模式中一路隨著Windows系統長大,遊戲玩了不少,對於現在唯一的好事,就是我的打字能力很快,所以透過網路寫文,一分鐘7.80個字不成問題,也讓我的寫作更為順暢。
二、學習的自主能力
少了同儕的陪伴,老師的督促,遠端教學最棘手的問題,就是孩子的自主學習能力該如何訓練,如果有過孩子在家上課經驗的家長一定心有戚戚焉。
不是一下吵著要喝水,一下要開冰箱,就是一定要爸媽在身邊才會乖乖認真的坐在前面,這不只是專注度的學習機會,更是讓孩子建立自主的學習能力。
我從小其實就很不喜歡浪費時間在無意義的事情上,所以我寧可把時間拿去玩,但該大考該認真的時候還是會乖乖把事情完成,對我現在這種自由業類型的創業者,的確是個很重要的發展。
三、讓教育隨著時代發展
昨天才在分享現在台灣課本的成長,正是想與大家好好聊聊教育這個產業,可以明顯的看出不同世代的成長與背景,以我最早國立編譯館的內容選擇,會發現較為死板,也根本不在意美學,但現在我們的生活卻讓這些設計與美感充斥生活。
同樣的文字,同樣的影音,你如何讓人家更願意為此停留,就是一個相當重要的關鍵。
四、學生試錯的能力
學生最幸福的,就是擁有足夠的試錯能力,台灣有一群孩子相當的頂尖,卻是最不能接受錯誤與犯錯的,從小天資聰穎令同學師長喜愛的,卻比一般人更害怕失敗,甚至有可能面臨到一個小小的挫折,便受到嚴重的打擊。
但隨著年齡增長,人生面臨到的考驗與磨難只會越來越多,沒有誰的人生是可以一路一帆風順的,也沒有誰可以永遠不犯錯的,但能夠直面你的錯誤,甚至為此擔起責任來致歉,這是相當不容易的事情。
現在檯面上的多少公眾人物,寧可選擇硬凹,選擇視而不見,也不願意去真正的檢討自己,向社會大眾道歉,正是因為仍有一些人認為犯錯會是人生一輩子的汙點。
NO!犯錯不會是汙點,死不認錯不願意成長改變,甚至一輩子活在錯誤中,這才是最大的汙點。
五、教育的本質
教育的本質是興趣探索,是透過不同的學習能力找到屬於自己的領域,每個人都是獨一無二的個體,能夠適合的工作與才能也都截然不同,這才是教育的本質。
過去總有人認為教育是資本主義下的產物,認為教育是為了產生更多供資本家使喚的生產者,這也是全世界教育所面臨到的最大問題。
但我認為大學以前的課程,都是在學習不同的能力,你擁有全才的學習與抗壓力,自然才有辦法選擇肩負醫師、工程師、律師等職位。
但大學以後的教育都在不斷的探索,甚至很多人未來的發展走向與就學時的科系截然不同,這都非常正常的。
六、因應改變的調整能力
一場疫情改變了全世界人們的生活型態,有些人選擇抱怨,有些人則立即做出改變來調整,最後誰會是這場疫情下存活下來的人,相信答案是很明顯的。
社會的改變只會越來越快,現代社群平台的演練,也讓人們的抱怨成為常態,甚至成為同溫層。
凡事過與不及都不好。
適當的壓力釋放是好事情,但一群人窩在一起成天只有抱怨,毫無建樹,那真的沒有太大的意義,也只是消磨自己有限的青春而已,這次的疫情,不只是對於家長,對於學生才是最重要的學習改變的調整能力。
就像我昨天才跟我現在在浪Live當營運長的老朋友講,趁著這次的疫情機會,他們應該盡快尋找教育資源來合作,畢竟浪是一個綠色平台,裡面不會有腥羶色的內容,也是目前台灣唯一的一間直播上市公司,也禁得起市場的考驗,如果趁著這次的機會,能夠增加更多的社會責任,對於公司與社會絕對都是雙贏。
啊順便講一下,我平常都有在這邊直播,有空可以來閒聊順便當成線上教學 (?)
IG : Awater0911
專屬社團 - 鬼才阿水Awater的東吳水軍社團
「浪Live」4791472 / 鬼才阿水Awater
install三態 在 3cTim哥生活日常 Youtube 的精選貼文
訂閱3cTim哥頻道⬇︎
http://bit.ly/2MgPy4H
訂閱Tim嫂頻道⬇︎
http://bit.ly/2PEnHMZ
訂閱里帆不煩頻道⬇︎
http://bit.ly/2FNP59c
訂閱Jade Lin林瑋婕頻道⬇︎
http://bit.ly/2D2YK8O
訂閱曾智希Simba頻道⬇︎
http://bit.ly/2NkkPof
訂閱眾點旅人頻道⬇︎
http://bit.ly/2QaY1vS
觀看3cTim哥系列影片⬇︎
【3cTim哥Apple蘋果開箱】http://bit.ly/2LE4M6R
【3cTim哥高階旗艦機開箱】http://bit.ly/2LDGSZx
【3cTim哥中、低階旗艦機開箱】http://bit.ly/2mXcSsv
【3cTim哥Apple蘋果小技巧】http://bit.ly/2NXsIyP
【3cTim哥Android安卓小技巧】http://bit.ly/2LE4kWy
【3cTim哥飯店開箱】http://bit.ly/2AomINV
【3cTim哥家電開箱】http://bit.ly/2v49Uai
【3cTim哥電腦開箱】http://bit.ly/2n0UM8Z
追蹤3cTim哥即時動態⬇︎
instagram☛http://bit.ly/2HCZ52j
facebook☛http://bit.ly/2JyOGGK
TIM X OLI 🛍️ 3C購物
官方網站▶️ https://goo.gl/jW7cny
Line@:@fly1064x (不定期電商優惠)
App Store▶️ https://goo.gl/67foDK
Google PlayStore▶️ https://goo.gl/l6B5Zp
*圖片內容截取自Google搜尋網站
**音樂與音效取自Youtube及Youtube音樂庫
#iOS13#MacOS#WatchOS
install三態 在 12 軟體安裝介紹| 資料科學與R語言 - Yi-Ju Tseng 的推薦與評價
Download R for (Mac) OS X; Download R for Windows. 依作業系統選擇適當連結後,點選base (Binaries for base distribution),下載最新版本的R安裝檔 ... ... <看更多>
install三態 在 《酒精噴霧機電池安裝注意事項》 #HANLIN自動 ... - Facebook 的推薦與評價
《酒精噴霧機電池 安裝 注意事項》 #HANLIN自動感應酒精噴霧機#防疫必備#酒精專用#噴霧型態 這裡買 ... 3 、有高低兩個出液量,根據需求調整。 ... <看更多>
install三態 在 故障信號-暫態輔助接點GVAD0110安裝和測試 - YouTube 的推薦與評價
故障信號-暫態輔助接點GVAD0110 安裝 和 ... Schneider Releu RM22TR33 control 3 faze. Un Prieten. Un Prieten. •. •. 2.2K views 11 months ago ... ... <看更多>