📜 [專欄新文章] 2021 區塊鏈開發入門
✍️ Johnson Chen
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
在我大學的時候,除了學習網頁前端之外,因為課程報告的需要接觸到以太坊(Ethereum),於是開始學寫智能合約,包括它使用的程式語言 solidity。
工作以後鮮少再碰以太坊的相關技術,直到最近想重新把以太坊學起來,故而決定寫這篇文章,讓初次接觸區塊鏈與智能合約的人更好地進入開發者的世界。這篇文章不只面向開發者,同時也希望能夠給對區塊鏈有興趣的人,指引一條清晰的學習路線。
關於區塊鏈
區塊鏈會被廣為人知,無非是因為虛擬貨幣的出現,而虛擬貨幣的鼻祖就是比特幣。在比特幣出現以前,沒有一個能夠在全球網路上通用的數位貨幣;在比特幣出現之後,才真的實現了數位化的貨幣,能夠在全球網路上流通。
這樣的技術性突破,blockchain 的名字從比特幣白皮書中被萃取出來,而這項技術也被更多人拿去做研發以及創新。
區塊鏈這項技術的特性可以簡單概括為兩點:去中心化(decentralized)與不可竄改(immutable)。去中心化有程度上的差別,在公共網路上由世界各地的節點共同維護的區塊鏈,去中心化程度較高;相較之下,私人企業開發由特定節點來驗證交易的區塊鏈,去中心化程度較低。
為什麼是以太坊?
這年頭區塊鏈三個字大行其道,大部分都是為區塊鏈而區塊鏈的商業炒作。容許我獨斷地說,以太坊才是區塊鏈應用的大門。
以太坊由全球最大的區塊鏈社群組成,提供一個去中心化的虛擬機器(Ethereum Virtual Machine)來處理「智能合約」,它是一個公共的區塊鏈平台,逛逛以太坊的官網吧!
智能合約
在以太坊區塊鏈中有所謂的智能合約,智能合約能夠部屬到以太坊區塊鏈上,合約即程式碼,放到區塊鏈上就不能再更新,只能執行合約上的程式,持有以太幣的人能夠與合約進行交易。把智能合約想像成是一台自動販賣機,把錢(以太幣)投進去,飲料會掉出來(合約上的程式會被執行)。
在現實生活中,簽訂合約的雙方認為合約有效而且可以被信任,是因為有國家法律來保障,違反合約可能會受到法律制裁;而用以太幣與智能合約互動,認為智能合約可以被信任,是因為智能合約的不可竄改性 — 以太坊虛擬機會毫無偏袒、完全中立、冰冷不帶任何感情地執行智能合約上已經寫好的程式碼。
建立在智能合約之上的虛擬貨幣
事實上,以太坊擴大了區塊鏈這項技術的應用層面。回頭想想,比特幣來自區塊鏈技術,某個人若想打造一款同比特幣一樣的虛擬貨幣,就得模仿比特幣去建造一個自己的虛擬貨幣區塊鏈,一個區塊鏈網路要能夠有效運作並非易事,還需要節點、需要靠人挖礦去驗證交易。此時,若使用以太坊的智能合約,撰寫虛擬貨幣需要的程式碼,將合約部屬到以太坊區塊鏈上,叮咚!他就可以發行自己的虛擬貨幣,根本不必再去建造底層的區塊鏈,也不用想挖不挖礦了。
此時會發現以太坊就像是一個區塊鏈平台,你不需要親手打造區塊鏈網路,即可享有區塊鏈去中心化與不可竄改的特性。與其他智能合約的開發者共同使用以太坊虛擬機 EVM(Ethereum Virtual Machine),在 EVM 上部屬無上限個智能合約。
以太坊是一項基礎建設,底層區塊鏈幫你架設好,開發者便有更多時間去發想應用到網頁、手機、或物連網設備上,以下是一段簡單的智能合約,該合約創造了一個虛擬貨幣簡稱 MAT…
直接進入開發領域 — 線上編輯器 Remix
Remix 是開發智能合約的線上編輯器,進入Remix官網,點選 Create New File 以後,把上方程式碼複製貼上。在左側欄位中有 solidity compiler 的選項,確認一下左側欄第一列顯示的版本,調成 0.7.0 (上方程式碼使用的版本),就可以按下下方 compile 的按鈕,將智能合約「編譯」成 bytecode(給機器讀的語言)。
接著我們要部屬合約到區塊鏈上,首先到左側欄位點選 DEPLOY & RUN TRANSACTIONS 的選項,可以看到環境是 javascript VM,這是指現在要部屬到的測試用虛擬機。按下下方的按鈕 Deploy 即可將合約「部屬」到 javascript VM 上。成功部屬後,你會發現 ACCOUNT 所持有的以太幣,從 100 變成 99.9999…,我們得知部屬智能合約需要花費一點點以太幣。
左側下方會有 Deployed Contracts,點開來就會列出合約上可供呼叫的函式,點那些函式就能與剛剛部屬上去的智能合約進行互動了。
有些函式呼叫會引發交易,所以需要以太幣,有些則不用。在 ACCOUNT 的地方可以展開來,它提供許多的地址 (address),也就是錢包,每個錢包裡面預設給你 100 顆以太幣,試著用那些地址去操作智能合約,你就能慢慢體會什麼是建立在以太坊之上的虛擬貨幣了。
真正的開發者世界
實際上開發智能合約只能算是以太坊開發的其中一部分,其他包括以太坊區塊鏈擴容方案、節點驗證等等又是另一個開發領域了,那部份我就沒有研究太多。而智能合約的開發是比較接近應用層面的,透過網頁前端或手機應用程式,與智能合約進行互動,稱作 Dapp(Decentralized App) 的開發,也象徵著網際網路走向 web3.0 的時代。
學習 solidity 語言,除了看硬生生的官方文件之外,我推薦去玩cryptozombies,我本身就是從這款網頁遊戲中學習這門語言,聽說是連小孩子都能輕易學習的教材。
除了學 solidity 之外,網路上還有很多方便的開發工具,開發者主要是運用這些工具做測試、自動化部屬、串接前端等等。許多網路上的教學文章會使用 Truffle + Ganache + web3.js 來建置開發環境。但我在這裡推薦另一款開發環境的架構,如果是新手直接從 hardhat 開始也是非常適合的,hardhat 的教學文章寫得清楚完整,本篇文章使用的程式碼也是從 hardhat-hackathon-boilerplate 這個專案而來。hardhat 使用的開發環境是 Waffle + Hardhat + ethers,它幫你把開發環境處理的簡單又舒服,讓開發者可以專注在開發智能合約上。
OpenZeppelin 是很有名的智能合約套件庫,開發時可以引入它的智能合約。智能合約很講究安全性,稍微沒寫好就可能被駭客鑽漏洞,虛擬貨幣就被盜走了!OpenZeppelin 提供的 SafeMath 很常被引入到專案,對新手來說看 OpenZeppelin 的合約也是很好的學習管道。此外,官方也建了一個學習網站ethernaut,主要在教導如何寫出安全性夠強的智能合約,可惜網站在我寫這篇文章的時間一直處於維修不能用的狀態。
最後再介紹一款實際上線的智能合約專案:Argent。它是一款運用智能合約來做虛擬貨幣錢包的公司,除了使用他們的錢包之外,也可以看看他們的智能合約是怎麼寫的,感受一下專業的程式碼架構與寫法。
小結
這篇文章希望能幫助到想了解區塊鏈這項技術的人,同時也想呈現一個智能合約的開發生態系,你大可以不必花太多力氣去了解密碼學、挖礦、節點、共識機制等等五花八門的專有名詞;反之,你可以專注在智能合約的開發,或回到本質去思考去中心化的用意、以及為什麼不可竄改的特性那麼重要。
智能合約除了做虛擬貨幣之外,也能夠做投票系統,原本以貨幣為起始點的區塊鏈技術,是智能合約的出現擴大了區塊鏈更具彈性的用途,這圈子需要更多的開發者來探勘這片新大陸。
尤其鼓勵人文社會科學的人才,無論是哲學、政治、經濟、法律或社會等各方領域,試著撇開人工智慧將主導未來社會的發展路線,與之截然不同的另一種形式:人類社會能否依靠科技的力量,促成彼此之間的合作,創造更有效率的市場、更公平的治理方式?
延伸閱讀:激進市場(Radical Markets: Uprooting Capitalism and Democracy for a Just Society)
2021 區塊鏈開發入門 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
經濟通串流版試用 在 葉郎:異聞筆記 / Dr. Strangenote Facebook 的精選貼文
#葉郎每日讀報 #一週大事版
───────────────
「Disney必須想辦法讓自己再度
變得有所謂,用不同以往的新方
式站回到觀眾的眼前」
——學者Carmen Higginbotham
───────────────
顯然我們都高興得太早,隨著美國在內的多個國家疫情衝出新高,整個世界的電影和各種現場娛樂產業都將需要更多時間從休克中恢復......
2020迪士尼之夏
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
今年暑假已經註定成為好萊塢最難忘的夏天。
Disney的《Mulan 花木蘭》和Warner的《Tenet 天能》已經先後撤退到7月底8月初。原本橫跨三、四個月的暑假檔已經騰空了近三分之二,然而美國疫情因為過早重啟而加速惡化,誰也沒把握剩下的三分之一暑假檔是否真的會發生。會不會到時候《花木蘭》和《天能》又在臨上映前宣佈延期?
大家都很好奇的問題是這些臨時取消上映、延後檔期,片廠到底得付出多少代價?
Variety說片廠高層私下估算:一部電影如果在上映前兩三週前才無預警取消上映,損失會高達500萬美元。而上映前兩週是各種行銷廣告投入的高峰期,延檔會使這些製作完成的素材和已經投放的廣告付諸流水。不過最近延檔的《天能》和《花木蘭》距離上映都還有一個多月,因此實際行銷損失可能僅在20萬~40萬美元之間。加上疫情爆發以來片廠對於行銷投入都變得非常謹慎,廣告支出異常節制。這對本來就是家喻戶曉題材的《花木蘭》應該不構成問題,但對於完全原創的《天能》風險就會高許多,Warner只能仰仗Nolan教信徒有多虔誠。
橫跨電影、電視、主題樂園、劇場演出、運動轉播等等多個事業體的Disney原本會佔滿每一個美國人行事曆上的全年重要娛樂事件。但這些娛樂事件目前通通因為疫情而停止供給,連不需要現場觀眾的電視也因為防疫關係無法復工拍攝。Disney手上只剩下趕在疫情幾個月前的上市的串流服務Disney+靠著庫存的節目內容繼續成長。
於是Disney+的新節目上架取代了原本暑假檔的各種重大娛樂事件(比如漫威電影上映),而成為這個夏天真正的重頭戲。
6月19日一家法國媒體發現Disney秘而不宣地取消了Disney+免費的試用期機制。Disney這麼做的理由完全是為了7月3日音樂劇《Hamilton 漢米爾頓》的上架鋪路。
雖然Disney+才半年就成功擄獲5450萬訂戶,但仍然遠遠落後真正的串流王者Netflix的1.8億訂戶。自《The Mandalorian曼達洛人》之後就後繼無力、面臨嚴重內容荒的Disney+,終於在原本是暑假檔最重要的國慶檔期展開另一波訂戶衝刺——開台以來最重量級的節目《漢米爾頓》和《Frozen 2 冰雪奇緣》正式上架。前者原本要在電影院上映但已經取消,後者則比原定時程提早兩週上串流。這些串流節目正在代替漫威撐起這個夏天的娛樂市場。
然而華盛頓郵報認為Disney還有比暑假檔更值得煩惱的事。這家娛樂集團旗下幾乎每一個部門都仰賴「現場事件」,隨著美國疫情回溫,今年內恐怕電影院、主題樂園、ESPN所轉播的許多運動賽事都很難全面恢復運轉,「Disney必須想辦法讓自己再度變得有所謂,用不同以往的新方式站回到觀眾的眼前」一名專門研究Disney和大眾文化的學者Carmen Higginbotham說。
也有人提議在眼前連開工拍攝都非常困難的情況下,除了想盡辦法填滿Disney+的內容或是繼續賣經典舊片的鄉愁情感之外,Disney或許應該開始投資一些不以「現場事件」為必要的內容(比如VR體驗)。
如果疫情一年復一年回來報導,Disney必須非常非常努力才有辦法重新回到所有人的娛樂行事曆上。
劇場產業休克中
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
台灣人應該珍惜的是我們可能是全世界極少數還有現場戲劇表演可以看的觀眾。Broadway League百老匯聯盟日前才宣佈直到2021年1月3日前百老匯的所有演出都不會恢復。
劇場產業的本週的重磅消息則是疫情的重度受災戶Cirque du Soleil太陽馬戲團正式向魁北克法院提出破產申請,準備開始進行債務重整。
太陽馬戲團在疫情之前原本就已經有近10億美元的負債,而突如其來的疫情更使他們陷入好幾個月完全零收入的狀態,直到杭州的《The Land of Fantasy 綺幻之境》在六月初恢復演出。太陽馬戲團預計將資遣3500名員工,並在魁北克投資局的2億美元融資和私人股權公司的資金協助下展開債務重整。雖然有來自美國和中國的私人資金投入,但魁北克政府在融資條件要求未來經營者必須繼續把總部設在加拿大。太陽馬戲團在聲明中強調他們「一定會回來,而且會比以前更加發光發亮。」
另一方面一群藝術家和設計師這個週末發起一個行動「#scenechange 計畫」,在英國和愛爾蘭多個劇院完成藝術裝置,用寫有“Missing Live Theatre”標語的粉紅色警戒線膠帶包裹住劇院,藉以喚起英國社會關注劇場產業面臨的空前危機。
英國政府從這個週末開始開放各地的劇院開門營業,但仍不准舉辦現場演出,所以場館暫時只能開門賣東西、辦辦推廣活動或是放映電影來勉強維持一切正常的假象。英國國家劇院這兩天就通知400名前後台職員被裁員,將只能領薪水到八月底。
英國BECTU廣播娛樂電影和劇院聯盟向英國政府發出警告,整個劇場產業正在面臨裁減3000個工作機會的海嘯級災難,以及難以數計的自由接案的劇場工作者收入全無的空前危機。休克中的劇場產業急須英國政府介入。
電影院的幽黯未來
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
另外一個文化娛樂場域——電影院的處境也沒有多樂觀。
美國疫情回溫之後,各連鎖電影院品牌相繼配合《天能》和《花木蘭》而延後重啟營業的時程,包含加州在內多個州也先後宣佈電影院不得開門營業。影響所及小型連鎖品牌知名的Alamo Drafthouse也開始大規模裁員,來想辦法讓公司撐到地球恢復運轉的那一天。
有趣的是,華爾街日報發現三家股票上市的美國大型連鎖電影院AMC Entertainment 、Cineworld和Cinemark 過去一個月股價平均下跌了23%,相比之下同樣在零收入狀態的主題樂園業者股價只跌了16%,而曾經載著滿船確診遊客的遊輪業者股價甚至只跌了6%。
華爾街日報推測原因:雖然看90分鐘電影的健康風險遠小於在遊輪上共處7天7夜,但電影院業的不利之處是他們被當成第一波經濟重啟的關注標的,比多數行業都更早被推入鍋裡試水溫。另外一個不利之處是:主題樂園或遊輪都可以自己咬牙重新開張,唯獨電影院必須仰賴別人家的「電影」成為自己的核心產品。片廠接連大動作撤走電影,電影院的股價除了跳水也沒別條路可走。
本週另外一個驚奇是:當我們都把焦點放在Netflix、Amazon、Apple等科技平台如何利用電影院停業的機會成為重要內容供應者時,曾經是DVD最大通路的購物中心Walmart突然跌破眾人眼鏡地宣佈進軍電影放映業。
Walmart在Twitter上宣佈從八月開始會有多家分店利用既有的停車場設施進行改裝,以汽車電影院的型態與電影愛好者見面。該公司透露的資訊非常有限,只說選片上會和經驗豐富的Tribeca合作。在美國電影院重啟臨時喊咖的時刻,這個快速反應的策略很有可能使Walamrt突然搖身一變成為全美最大電影放映通路,甚至還可以扮演同樣非常稀缺的演唱會場地角色。
即便八月美國電影院順利恢復營業,汽車電影院估計仍有機會在防疫的緊張氣氛中繼續扮演傳統電影院的社交距離替代方案好一陣子。
如何停止憂慮並愛上串流
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
串流仍然是這波疫情最大的獲利者。
WarnerMedia最近開始清理戰場,積極處理HBO Max上市之後的串流品牌混淆問題。日前已經在美國下架(提供給有線電視訂戶線上收看節目的)HBO Go服務,只留下(美國市場獨有、可以單獨訂閱、不必綁有線電視的)HBO Now。接著本週WarnerMedia再度宣佈包含台灣在內多個市場的HBO Go不再強制綁定有限電視,讓非有線電視訂戶可以以150元台幣的價格在APP內直接訂購,等於讓HBO Go兼有了HBO Now的服務機能。
因為HBO節目受到有線電視系統合約的束縛,短期內HBO Max在國際市場上的擴張速度會比Disney+或Netflix慢很多。本週開始提供單獨訂閱的HBO Go顯然將會有很長一段時間扮演HBO Max的高CP值替代品角色。等到未來HBO Max正式在台灣推出,預期也會直接吸納HBO Go既有訂戶,降低市場推廣門檻。
串流正在快速取代電影院的角色,但不論創作者或是關ㄓㄨㄥ仍然會有一點點焦慮。
好萊塢名編劇Charlie Kaufman在接受華爾街日報專訪時談及他即將在Netflix上架的新作《I’m Thinking of Ending Things》是改編自小說而非原創時,話鋒一轉開始抱怨原創題材在好萊塢已經不如過往容易開拍:
「在我事業的早期,我可以愛玩什麼實驗就玩什麼實驗,但整個行業在那之後已經劇烈改變,而且大約就從2008年開始——那時候片廠開始停止拍攝電影而不斷生產大片。這就是為什麼像Netflix這樣的平台會吸引很多創作者,因為他們根本沒有別的地方可以拍電影了。所以每次聽到誰說是Netflix殺了電影是我總是非常火大,因為真兇是電影殺了電影,是片廠殺了電影。這才是事實的真相。」
衛報的電影主編Catherine Shoard則預測接下來電影工業會崩潰,但新的電影形式會開始百花齊放。
雖然英國電影院這個週末重啟,但重重的限制和風險意味著電影院的商業機制終究會慢慢瓦解。通路的不確定因素也會使高成本和題材高風險的電影再也不會被片廠按綠燈開拍。
作者認為雖然電影院瓦解,電影藝術並不必然瓦解,反而會因為大工業機制的崩潰,進入創意形式的百花齊放時代。不一定要在電影院放映,不一定要是兩個小時,不一定要是買一張票看一部(比如訂閱制或是小額贊助)......打破種種形式束縛之後,也能讓更多過去被工業系統排除在外的創作者得到機會。雖然電影/電影院的最後一夜可能令人感傷,但明天過後仍有令人興奮的新玩意兒可以期待。
所以也許是時候停止憂慮,並愛上末日之後隨之萌生的各種新玩意兒。
|新聞出處|
6/29~7/5一週大事
Cirque Du Soleil Files For Bankruptcy Protection, Vows To Return “Brighter Than Ever”(https://bit.ly/3g8Nx8G)
After coronavirus, cinema may never be the same again (https://bit.ly/31sx1fx)
Movie Theaters Get a Painful Extended Intermission https://on.wsj.com/2ZtFoEX)
不用綁有線電視!HBO GO全面開放台灣用戶直接訂閱(https://bit.ly/31x7i5F)
Walmart’s movie plan will transform parking lots into drive-in theaters(https://bit.ly/2ZBUtom)
Studios Keep Delaying Movies. What’s the Cost? https://bit.ly/2C0C6kD)
How to watch Hamilton for free on Disney Plus: You can’t, and here’s why (https://bit.ly/3eZ49Q1)
Arts union slams UK government for 'cultural vandalism' amid theatre crisis(https://bit.ly/2Bt30ls)
Designers to wrap empty UK theatres with message of hope(https://bit.ly/2Z0CoBe)
Charlie Kaufman Says Old Hollywood, Not Netflix, Killed Movies(https://on.wsj.com/3iv6fJB)
How Disney could be facing a lot more than a lost summer(https://bit.ly/2D6JStL)
經濟通串流版試用 在 葉郎:異聞筆記 / Dr. Strangenote Facebook 的最讚貼文
#葉郎每日讀報
#今天最重要就一條
串流消費者的忠誠度正在降低:
Deloitte德勤發佈的最新調查結果顯示,疫情雖然使更多美國人成為串流平台的訂戶,但他們的忠誠度也在下滑中。因為預期疫情過後的經濟蕭條,許多美國消費者已經開始在陸續退訂(有些人甚至是試用期滿隨即退訂)。其中一個原因是大量新串流品牌進入市場,加上突然在疫情期間崛起的首輪VOD都在競逐消費者越來越薄的荷包,消費者無法通通買單。這份今年五月針對美國市場串流消費行為的研究報告要點如下:
1)關於訂閱經驗:有80%受訪者說他們現在是串流訂戶,高於疫情前調查的73%,也高於去年的69%。
2)關於退訂經驗:有17%受訪者說他們自疫情開始以來(約3個月內)有退訂串流的紀錄,相較之下疫情開始前的調查則有20%受訪者在12個月內曾退訂串流。退訂的理由中有36%是因為費用過高,35%是因為試用期滿,顯見成本是退訂的最大考量。
3)關於吸引訂閱的理由:51%受訪者認為吸引他們訂閱的理由是有更多的節目和電影,45%認為吸引他們的是獨家內容。
4)關於首輪網路電影:22%受訪者說他們在疫情期間付費收看跳過電影院直接上網路的首輪電影(這些人中有30%是Z世代,36%是千禧世代,顯然年齡是重要因素)。這些人之中有90%表示他們願意繼續付費收看首輪網路電影,但也有42%認為定價過高。
(報導原文:https://bit.ly/2CBTNaJ)
其他今天也可以知道一下的事
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
➤ Michael Keaton將在2022年的《The Flash 閃電俠》電影中再度扮演蝙蝠俠,促使整個DC電影宇宙走向有別於Marvel電影宇宙的多重宇宙路線(https://bit.ly/2zVtBGS、https://bit.ly/3dnEEGF)
➤HBO的Cinamax頻道品牌正在被母公司AT&T慢慢放生,不僅自製節目沒有被放進HBO Max,節目資源投注也慢慢變少(https://on.wsj.com/2BvpC4f)
➤歐盟認為在仇恨言論的處理上各社群平台的透明度不夠,只有Facebook有依照歐盟的標準系統性地處理檢舉和下架(https://tcrn.ch/37WfCwU)
➤彭博新聞指出任天堂無意再繼續發展手遊,而會專注在Switch遊戲的開發上(https://bit.ly/3er3vdL)
➤Microsoft企圖跟Twitch競爭的電競直播社交平台Mixer宣佈將在下個月停止運作,改跟Facebook Gaming合作(https://bit.ly/2CpLSgj)
➤過去以音樂節和現場演出為主要收入來源的中國最大獨立音樂公司摩登天空如何在疫情中在線上求生(https://bit.ly/2Va3Fi1)
➤中國文化和旅遊部實施新規定,要求其管轄的劇院和娛樂場所中的消費者不得停留超過兩小時(https://bit.ly/31eQfW9)
➤時隔27年,在美國少數營業的電影院重映的《Jurassic Park 侏羅紀公園》再度獲得票房冠軍(https://bit.ly/2Vcbm7v)
➤Apple Store將下架未取得中國遊戲版號的數千款遊戲,以符合中國政府要求(https://bit.ly/2zU4Ria)
➤《St. Elmo’s Fire 七個畢業生》、《The Lost Boys 粗野少年族》、《Batman Forever 蝙蝠俠3》導演Joel Schumacher因癌症過世,享年80歲(https://bit.ly/2Z3S7xU)
➤2021金球獎宣佈延至2月28日,取代原定在該日舉行的奧斯卡頒獎典禮檔期(https://bit.ly/37VIGov)