📜 [專欄新文章] Scaling Ethereum 參賽心得
✍️ Johnson
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Scaling Ethereum 是一場由 ETHGlobal 所舉辦的線上黑客松,也是我第一次參加與以太坊有關的黑客松活動,這篇文章就來分享一人參賽的過程與心得。
源起
一開始是在 telegram 群組中得知這場比賽的消息,因緣際會之下剛好有人想組隊參賽,於是就在報名截止的前一天一起跟著報名了。
報名的方式除了填一些基本資料外,最特別的是還要 stack 以太幣,也就是要傳送 0.01 顆以太幣給主辦方,規則是必須在比賽的最後,有提交作品的人才能贖回 0.01 顆以太幣,之後看到 meme 頻道有人留言:
When your project is incomplete but you submit to get back stake.
一方面,這確實也會激勵你好好把比賽完成,就算沒做完也要有些成果上去,這也是主辦方秉持的精神,他們認為大家來黑客松相互學習成長,競賽獎金則是其次。
獎金
比賽方式是由 25 個左右的贊助者(sponsor)分別提供獎金,每個 sponsor 都有錄製一段影片,說明怎麼獲得他們的獎金,大部分會要你使用他們開發的工具,或者必須跟 sponsor 在做的研究有關,去實作出創新的作品。可參考:Prizes — Scaling Ethereum
你的專案可以選擇要投入哪個 sponsor 的獎金,一個專案可以投入多個 sponsor 底下,這樣獲獎機會也會比較高。
我選擇的 sponsor 是 zkSync,他們的說明如下:
zkSync is a user-centric zkRollup developed by Matter Labs. It uses zero-knowledge proofs to keep data availability on mainnet to achieve exponentially lower transaction costs. You may have seen us powering projects such as payments and Gitcoin Grants. We are currently rapidly developing zkSync 2.0, which will feature EVM-compatibility in testnet May 2021, soon followed by zkPorter, our new exponential scalability solution.
PrizeszkSync will be awarding their Prizes as follows:
- 1 winner — 4,000 USDC
- 2 winners — 2,000 USDC
- 4 winners — 500 USDC
We encourage builders to utilize zkSync SDK’s, implemented in JavaScript/Typescript and Rust. Prizes will be awarded to projects that make it simpler and easier for non-technical users to use zkSync, other ideas include integrations of current tools such as in Gitcoin Grants and tools for easy mass payments and multi-sigs.
社群互動
這個 hackathon 很棒的地方是他把使用者體驗做的很好。每個人都會有自己的 dashboard 顯示目前專案的進度和一些訊息。
Check-In #1 和 Check-In #2 的階段會要你提供專案的構想,你隨時都可以修改。主辦方會看你提交的資訊,幫助你找到適合的 sponsor,或是給你一些建議,就算是一人參賽也能感受到回饋。
整個賽程期間,社群都是使用 discord 在互動,discord 裡頭有很多頻道,像是基本的大會報告的頻道,或是一些不重要的迷因、閒聊頻道都有。
每個 sponsor 也都有自己的頻道,我就會在 sponsor-zksync 的頻道詢問技術的問題,例如我想問問 zkSync 一些關於專案構想的意見:
Hi there, I want to build a gas fee relayer which make my ERC-20 token transfer without transaction fee, to be more precise, delegating gas payment by another party. I think this is done by GSN https://opengsn.org/ , but maybe it could built on L2 with zkSync? I’m not sure, could somebody give me some advice about this topic?
zkSync 團隊的人回應我:
This is an amazing idea! This can totally be built, as we support batching transactions which can be used for all kinds of creative things such as paying for transaction fees in an erc-20 token. Your idea seems like a combination of that and the gitcoin grants integration. To get started, I suggest you watch the short 10 minute presentation I made on using the SDK and batching. Looking forward to your project!!
在 Check-In #2 的時候,我提交新版的專案構想,有一個欄位是問:「目前專案遇到什麼阻礙?」我的問題應該是被主辦方貼給 zkSync 的團隊,於是 zkSync 的團隊成員就用 discord 私訊我,貼了一些程式碼教我怎麼使用他們的 Javascript SDK,這突如其來的救援也幫了大忙。
除此之外,主辦方每個禮拜都會寄 email 通知一些重要的活動,賽程期間舉辦了四個 Summits 研討會,邀請世界各地有名的以太坊開發者分享議題,主辦方還有一個自己的 TV 網頁,直播所有的線上活動。這些活動都有錄影,可以在 youtube 看到過去所有的演講內容:https://www.youtube.com/c/ETHGlobal/videos
因為我的作品是使用 zkSync 的 Javascript SDK 製作的,好像也只能投稿 zkSync 作為獎金的 sponsor,不過主辦方在最後一個禮拜,也寄 email 告訴我說可以多投稿不同的 sponsors 看看,他依據我的專案構想給我一些適合的 sponsors 作為參考。
不過最後我還是只投稿了 zkSync,有點懶著再看其他 sponsors 的文件,也覺得其他 sponsors 的題目需要花比較大的功夫才能完成,一個人能力有限,就做點簡單的東西就好。
關於我的專案 — Gas Relay Service
在以太坊的世界,每一筆交易都需要額外付一筆交易費,也就是以太坊的 gas fee。
我的專案是讓「收款人」能夠幫「付款人」支付以太坊的手續費。
在黑客松之前,我就想研究「第三方支付手續費」的議題,因此我大部分時間其實都在研究一般的 meta-transactions 是怎麼實作的,有興趣的人可以看看 simple meta-transactions 的原始碼:https://github.com/chnejohnson/simple-meta-transaction
之後我才開始玩 zkSync 的 SDK,並研究怎麼在 Layer 2 實現第三方支付手續費的問題,以下就附上作品連結以及簡單的專案介紹給有興趣的人參考:https://showcase.ethglobal.co/scaling/gas-relay-service-on-zksync
The target is that token sender can choose to find another account to pay for fee. The another account can be (1) the token receiver’s account, (2) sender’s another account, (3) third party’s account.
In this project, I finished the demo, which is the (1) above, that receiver pay gas fee for the sender.
有趣的是,我在研究 meta-transactions 時學到很多智能合約的寫法,結果在最後專案上都沒用到(沒寫到合約的程式),zkSync Javascript SDK 其實很簡單,他們的文件寫得很清楚。最後 Demo 還是用 zkSync 團隊的成品修改來的…XD。
所幸在沒有懂太多技術的前提下完成了這場黑客松的專案,成功贖回了 0.01 顆以太幣。
評審與決選
整個賽程來到最後一個禮拜,主辦方安排兩天的時間進行 Judges,使用 zoom 進行線上研討會,一個人基本上是 7 分鐘,前 4 分鐘播放 Demo 簡報,後三分鐘會有評審問問題。
第一個問題是說:「Demo 中你是使用 zkSync 的錢包網頁去操作,那實際上你做得部分是什麼?」
我就回答我在他們的網頁上加了一顆按鈕,使用他們的 SDK 做出 gas relay 的功能,還有一個後端的 server 去作 relay。
第二個問題大概是問:「什麼樣的情境下會需要由 receiver 幫 sender 支付 gas fee?」
我的回答是,在一般超商購物的情境,消費者通常只支付商品的價格,不會支付額外的交易費,我認為以太坊的手續費應該屬於軟體的營運成本,由賣方支付比較適合。那如果賣方希望手續費的成本是由消費者承擔,可以直接調高商品的價格。
當然,我英文講得零零落落,希望評審有聽懂就是了…
最後一場直播就是 Finale 決選,主辦方選出十二個隊伍,公開再 Demo 一次,以及提供線上觀眾詢問問題,至此整個賽程就差不多進入尾聲。
決選後的不久,主辦方就公布了這次有獲得獎金的隊伍,幸運拿到了 zkSync 頒發的小獎~
zkSync — Matter Labs
- Zeneth — 2000 USDC
- ZeroSwap — 1500 USDC
- Kangaroo — 500 USDC
- Gas Relay Service — 500 USDC
後記
這次的參賽隊伍中,Zeneth 跟我的主題非常相似:
Zeneth — Use Flashbots to enable arbitrary meta-transactions so EOAs can enter L2s without ETH
另一個我覺得有趣的專案是 Alexandria:
Alexandria — A dApp using STARKs to verify aspects of your identity without revealing more than you should
沒想到主辦方 ETHGlobal 下個月又要再舉辦一場黑客松,有興趣的人可以看看:https://defi.ethglobal.co/ ,這次的主題是 De-Fi。
最後,只要有到 ETHGlobal 的 TV 網頁參加 Summit 研討會的直播,就能夠獲得 POAP 勳章,它就是一個酷東西~😋
POAP: Proof of Attendance Protocol
Scaling Ethereum 參賽心得 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
「can not寫法」的推薦目錄:
- 關於can not寫法 在 Taipei Ethereum Meetup Facebook 的最讚貼文
- 關於can not寫法 在 Eric's English Lounge Facebook 的最讚貼文
- 關於can not寫法 在 全職旅行的日本人妻 / 風信子 Facebook 的最讚貼文
- 關於can not寫法 在 英文在書寫時(written English), can not 分開寫是爲了加強語氣 的評價
- 關於can not寫法 在 請還原Traditional Chinese的眞正Tradition寫法#6 - GitHub 的評價
- 關於can not寫法 在 【英語維基】到底是Cannot還是Can Not? | 空中英語教室 的評價
can not寫法 在 Eric's English Lounge Facebook 的最讚貼文
用字遣詞的敏感度
快來看Presentality的最新英語寫作分析~
特別敏感的時刻,我們的用字遣詞也要特別小心。今天的「閱讀筆記」,我們來看前一陣子轟動矽谷的事件:知名軟體公司老闆在部落格的一篇 po 文,讓三分之一員工離職。他到底寫了什麼?
📌 總結幾個重點:
1. 在敏感時刻,用字跟語氣,甚至可能比內容還要重要。
2. 用簡短無修飾的句子,會顯得比較強硬,較長而且有修飾的句子,反而比較溫和。
3. 主詞非常,非常重要。你用的是 I, us vs them,還是 "we" and "our"?
如果以後你在情緒高漲的時刻寫文,也不妨寄給英文好而且中立的朋友,請他們評估文字所帶著的情緒,會很有幫助。
★★★★★★★★★★★★
📌 前一陣子,Basecamp 事件震驚美國科技/新創圈。
Basecamp 是一家團隊協作軟體公司,創辦人 Jason Fried 跟 David Heinemeier Hansson 一直都很願意為自己的理想及理念說話。他們寫的 Rework 一書影響了非常多的人,我在台灣認識的好幾位創業家都曾經跟我分享這本書。
但他們四月底在部落格上公告 Basecamp 一系列政策改變之後,引來非常大的反彈。
我第一時間就有去他們的部落格看他們寫的文章,覺得文筆非常好,而且是用說道理的語氣,很 reasonable。但發布不久,公司超過30%的員工,決定離職,其中包括好幾位高階主管!
What happened? 那篇文章,很顯然觸發了一個危機。我回去再把文章看了一次,發現天啊... 那篇文章的語氣,根本沒有我第一次看感覺的溫和。
Changes at Basecamp: https://bit.ly/2SNN6Kr
很多魔鬼都藏在細節裡。
★★★★★★★★★★★★
📌 主要的改變 = 工作時別討論政治或社會議題
讓大家最氣憤的政策改變,其實就只有一個:
No more societal and political discussions on our company Basecamp account.
在這個時空背景下,美國社會立場分歧這麼深,從左右派政治議題,到種族歧視問題,Basecamp 領導人大膽決定,禁止員工在公司內部的線上溝通頻道,討論社會及政治議題。
要去弄社會政治議題,可以,但請別在公司內。
★★★★★★★★★★★★
📌 開頭還算溫和:說服大家把公司當產品看待
一開頭,Fried 就寫:
At Basecamp, we treat our company as a product. It's not a rigid thing that exists, it's a flexible, malleable idea that evolves. We aren't stuck with what we have, we can create what we want. Just as we improve products through iteration, we iterate on our company too.
Hmmm,為什麼要這樣開頭?為什麼要把「公司」跟「產品」劃上等號?
我們可以想像,Fried 肯定為了這篇文煩惱了一陣子。很多想法不斷的在他腦中盤旋,不同的開場,不同的句子...
但這個開頭,是一個很不錯的 framing:因為 Basecamp 的員工肯定很多 product fanatics - 就是最在乎產品好不好的 "builders"。Product lovers 的一個共同點,就是了解產品是會不斷改變的東西。如果說公司也是,就可以理解,公司也會改變。
然後,他非常小心的挑選最正面的說法。每一字每一句都是 product lovers 會認同的:
•flexible
•malleable
•evolve
•we can create what we want
•improve products
•iterate
用了一連串正面的同義字,就是要塑造 change = positive 的氣氛。
★★★★★★★★★★★★
📌 連大改變,都用「改版」來形容
下一步,就是用一個大家理解的方式,來描述「非常大的改變」:
Recently, we've made some internal company changes, which, taken in total, collectively feel like a full version change. It deserves an announcement.
什麼是大的改變?就有點像「改版」的意思。而且注意到,他不是寫 "We're making a full version change" 喔,而是說:"changes... taken in total, collectively feel like a full version change."
也就是說,在中間加了很多緩衝的字眼,淡化 "full version change"。
就像你如果要跟一個人說他是混蛋,哪一種說法比較直接:
The way you act sometimes, when people don't know you yet, can feel like you're a bit of an asshole. 或是 You're an asshole.
講完這個,他就要給大家打預防針了。
而且又是從「產品」開始:
In the product world, not all changes are enjoyed by all customers. Some changes are immediately appreciated. Some changes take time to steep, settle in, and get acquainted with. And to some, some changes never feel quite right — they may even be deal breakers.
哇噻,好幾劑預防針啊!
而且他用了三個意思差不多的字,鼓勵大家「耐心的習慣新的改變」:Some changes take time to steep, settle in, and get acquainted with。
Again 他的用字很細心。"Get acquainted with" 就好像跟我們說,
改變其實是我們的朋友,只要我們願意好好認識它。
但他們其實知道,有些改變是一些人完全,完全無法接受的。
所以才有最後一句:"They may even be deal breakers"。
They totally knew what was coming...
★★★★★★★★★★★★
📌 溫和就到這裡... 語氣開始轉變
接下來,他選擇美國人非常愛用的寫法,就是引用一位大家尊敬的人的話,來幫自己助陣:
As Huxley offers in The Doors of Perception, "We live together, we act on, and react to, one another; but always and in all circumstances we are by ourselves. The martyrs go hand in hand into the arena; they are crucified alone. Embraced, the lovers desperately try to fuse their insulated ecstasies into a single self-transcendence; in vain. By its very nature every embodied spirit is doomed to suffer and enjoy in solitude."
這裡藏了點玄機。
如果他的目的是說服大家接受這些改變,那為什麼要引用這一段!?
讀起來,這段話反應了他的心情:在做困難決定時的「孤獨」。如果是這樣,那這段話的用途就是「療癒」而不是「說服」。
因為如果目的是說服,為何不引用某個你的員工/讀者都非常敬佩的人的故事,這個人做了一個不受歡迎,但大部分讀者都會認同是正確的決定?
個人猜測:他上面好話已經寫完了。真正的意涵是:We're going forward, alone if necessary。
而且,他們還把自己的決定,frame 成 navigating somewhere,同時把另一邊寫成 circling nowhere
We all want different somethings. Some slightly different, some substantially. Companies, however, must settle the collective difference, pick a point, and navigate towards somewhere, lest they get stuck circling nowhere.
★★★★★★★★★★★★
📌 語氣變的很硬:No More
然後他就開始寫改革本身。
如果把所有改變的第一句話看過去,會發現全部都是 "No more..." 開頭。這個硬到不行了。
完整文章: https://bit.ly/3wT6x3z
圖片出處: https://bit.ly/34wWkO5
★★★★★★★★★★★★
Presentality每天都在追蹤與分析跟英文溝通/寫作有關的文章,如果想要透過我們這些「閱讀筆記」一起學習,可在 FB 追蹤我們:https://www.facebook.com/presentality/
📌 Presentality系列文章:
1. 看貝佐斯致亞馬遜股東的最後一封信,學一些英文寫作小撇步
https://bit.ly/3xCN1cC
2. 英文演講實用的結構與技巧
https://bit.ly/2PHu3Ax
3. 在演講中的四種敘述角度
https://bit.ly/39tNUtv
4. 詩人Amanda Gorman的英文演講技巧
https://bit.ly/39sI3on
5. 從 Most Dangerous Place 文章,看經濟學人寫作邏輯
https://bit.ly/3htqJEs
6. 寫作的終極目標是「提供價值」
https://bit.ly/3yA3gYe
7. 看 Bloomberg學資深記者如何寫文章
https://bit.ly/3i3am1P
can not寫法 在 全職旅行的日本人妻 / 風信子 Facebook 的最讚貼文
【序破Q其實有意思?新一集名字暗藏玄機】昨晚,剛巧電視在播放「序」篇,本來最新一集的EVANGELION劇場版原定於2020年6月公演,後改為2021年1月23日,但因為近日疫情又再爆發,所以再度延期,未有日期。關於最新一集,有幾件怪事,大家有沒有留意EVAGELION的日文字,第1-3集與這次的第4集有點不同:
ヱヴァンゲリヲン新劇場版:序
EVANGELION:1.0 YOU ARE (NOT) ALONE.
ヱヴァンゲリヲン新劇場版:破
EVANGELION:2.0 YOU CAN (NOT) ADVANCE.
ヱヴァンゲリヲン新劇場版:Q
EVANGELION:3.0 YOU CAN (NOT) REDO.
シン・エヴァンゲリオン劇場版 :||
Evangelion: 3.0+1.0 Thrice Upon a Time
劇場版的序、破、Q,頭3集寫的日文為:
E VA N GE LI WO N
「ヱヴァンゲリヲン新劇場版 」
Shi n E VA N GE LI ON
「シン・エヴァンゲリオン劇場版𝄇 」
無論是「新」字的位置,與讀音的寫法都有所不同,特別是ヱ/ヲ及エ/オ,而名字偏偏選擇回到最初的動畫版:「新世紀エヴァンゲリオン」。
原來日文就有「序破急」這個詞語,急的讀法正是Q,原本指舞樂、能樂的構成形式,與起承轉合相似。「序」是由慢速展開,「破」是指拍子變得頻密,「急」是當樂曲進入加速的段落。另外,可能不少朋友也知道,今次的完結篇,名稱最後加上了樂譜中的重覆符號,到底真的是完結?還是重覆?還是回到最初?雖然還未公演,一切都是謎團,但光是名字就已經滿有意思。
所以說,EVAGELION的深度太高,看了幾次難以參透。
POSTER:「シン・エヴァンゲリオン劇場版」
(C)カラー (C)カラー/Project Eva. (C)カラー/EVA製作委員会
——————
邀請各位同時追蹤以下頻道
ig/ 日本風景集: http://instagram.com/lifetravelogue
YouTube/ 解構日本文化/社會: https://www.youtube.com/hyacinthk
Patreon/ 拆解社會禁忌、黃標話題: https://www.patreon.com/mshya
Podcast節目 - 探討日本文化生活: https://spoti.fi/39RWYY5 或 Apple Podcast上搜尋「原來日本長這樣」
——————
#日本文化 #日本動漫 #日本介紹 #日本電影 #日本 #日本人 #日本生活 #在日港人
can not寫法 在 請還原Traditional Chinese的眞正Tradition寫法#6 - GitHub 的推薦與評價
「The reason Source Han Sans TWHK must follow it is: CNS 11643 is the national standard in Taiwan — although it's not mandatory.」 The current ... ... <看更多>
can not寫法 在 英文在書寫時(written English), can not 分開寫是爲了加強語氣 的推薦與評價
英文在書寫時(written English), can not 分開寫是爲了加強語氣, can't 是口語和非正式的寫法, 正式的寫法 ... ... <看更多>