📜 [專欄新文章] 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.
👏 歡迎轉載分享鼓掌
js 子節點 在 鄭龜煮碗麵 Facebook 的最讚貼文
電影《美國隊長 2》告訴我們,只要有了動用麥卡錫主義或白色恐怖手段來對付九頭蛇的念頭,其實就是讓自己一步一步成為九頭蛇。
這就是為什麼九頭蛇的頭被砍下,能夠立即長回來。
然而你我都想問的問題是,那到底該拿九頭蛇怎麼辦?(謎之聲:跟美心一起泡在浴缸裡?)
---
其實有點尷尬,最近老是寫同樣的東西。感覺老當軟趴趴的和事佬,但不管了,因為我本來就是一個軟趴趴的中年人啊!
我只能誠實地寫,為了我希望看見的未來而寫。因為最近一週,有三件事情讓我很有感觸。
---
首先,這兩天我除了追劇,也認真讀了台北大學犯罪學研究所 沈伯洋 (Puma Shen) 老師的演講逐字稿,覺得大有收穫,亦倍感沈重。
請見:〈中國政府如何利用假消息影響台灣選舉?〉
https://hackmd.io/s/HyJL31IOE
沈老師生動且白話地說明了中國對台各種以 #行為經濟學 為基礎的「政戰」手段。從俄羅斯是如何對波羅的海三小國跟烏克蘭、美國操演整套技術,到中國如何快速學習優化,用在台灣上。讀來怵目驚心。我是很推薦大家看完再回來。
另外,我也推薦 范疇 老師這篇專論,他把信息戰分為四個層次,認為高層的是「技術活」,最底層的「謠言戰」幹得是「情緒活」,比較手工。我覺得說得也很到位。
〈2020大選年信息戰的四個層次〉
https://www.facebook.com/taibeijing/posts/2276585645947810
同樣必讀的是去年超猛記者朋友 Js Liu 在 報導者 The Reporter 上寫的這篇,介紹了早已發生在其他國家的案例:
〈和你交朋友、拉你上街頭!假訊息「產業」如何在世界點火?〉
https://www.twreporter.org/a/disinformation-manufacturing-consent-worldwide
---
第二件事,是之前跟大家聊過的 #NCC。
NCC 在 3/27 日對中天新聞開罰 100 萬,引起了如我所預料的後果:
「NCC 若真的大力管制內容,會有如《美國隊長:內戰》翻版。大家可以想像一下。總之就是人們會被迫選邊站,言論自由、媒體亂象、政府權責、選舉勝負、商業利益會全部混在一起,戰場急速擴大,反而把真正的問題 — 結構再管制 — 忘了。」
( 出自之前的文章:〈NCC 能解決假新聞? 〉https://www.facebook.com/noodleswithturtle/photos/a.553668551795182/568785870283450/?type=3&theater )
開罰之後,我們立即就看到藍營政治人物接連開戰,拿這件事做為選舉議題,讓 NCC 又揹上鷹犬的惡名。
如 朱立倫 這篇:
https://www.facebook.com/llchu/photos/a.10154128138755128/10161655145335128/?type=1&theater
還有張善政這篇:
https://www.facebook.com/SanCheng624/photos/a.198039917485252/314227729199803/?type=3&theater
民主進步黨 聲援:
https://www.facebook.com/dpptw/posts/10155787342366058
國家通訊傳播委員會 NCC 自己回擊:
https://www.ncc.gov.tw/chinese/news_detail.aspx?site_content_sn=8&is_history=0&pages=0&sn_f=41246
以上只列出幾則比較具代表性的討論,因為隨著 4/2 日詹婷怡主委請辭,中天表示將尋求行政救濟,關於這起事件的政治人物發言、媒體評論還將逐漸擴散,無法一一列出。
尷尬的是,在我讀過對於這件事的眾多正反/挺批言論之後,我捫心自問,這些意見都不能算是錯,都有道理,我想這就是內容管制最麻煩的後果。在此只推薦一篇具有足夠高度,想 #大推特推 的評論:
黃哲斌:〈假新聞不只是NCC的問題!「紅色滲透」時代我們能做的事〉
https://opinion.cw.com.tw/blog/profile/51/article/7889
延伸閱讀:
范琪斐的美國時間:
https://www.facebook.com/fanamericantime/posts/878309635851939
「就像我們這些美國的自由派,罵福斯電視台做假新聞,罵了幾十年,但越罵它收視率越好,最後選了個川普出來。
你抵制這個電視台,甚至關掉這個電視台,並不會讓看它的觀眾消失。」
---
第三件事,則是比較個人的一件小事。
我最近常常在個人的臉書帳號,分享 韓國瑜 市長的演講、文章或專訪影片,並且給予其「#內容有效性」正面的肯定。
像是這則 遠見雜誌 最近的專訪:
https://www.youtube.com/watch?v=VfUzbY9-3Fc
跟去年選前他做的一場演講:
https://www.facebook.com/huashanlunjian/posts/10157407118348258
我都覺得韓的確是藍營少有的演說高手,內容能夠打動人心。
於是有些朋友看了我的言論,覺得毛毛的,會留言或私訊問我:「#你是在反串嗎?」
我其實完全沒有這樣的念頭。我在讀碩士時,研究的就是粉絲/ #迷現象,涵蓋內容分析、文化研究。所以各種爆紅與人氣文本,本來都是我好奇的主題。
而我後來成立知識內容型網站、做科學傳播、娛樂傳播、公益傳播,開課、寫書、研究網紅與個人品牌、政治行銷、危機溝通......也都是在做同一件事:研究文本是怎麼被理解的,為何某些內容受到歡迎,以及消費者跟創造者怎麼在過程中塑造自我認同?
另一方面,由於我對韓到現在為止也實在是非常非常陌生,說不上討厭或是喜歡。我其實有點後悔,在過去一週以前,我竟然對這位已是超級政治明星的人完全不熟。可能因為我沒在看韓流電視台,而經過同溫層過濾氣泡之後,我能看到的多半是針對他,跟他施政、用人、傾中的嚴厲批評跟嘲諷,而不是他自己的言說。
我也透過時代力量高雄市議員 林于凱 跟 黃捷 鳳山捷伴同行 的臉書,找市議會的質詢影片來看。我其實沒打算看影片就自以為了解一個人、確認他會不會賣台還是發大財,但最起碼,我可以了解他作為一個展演者,用了哪些方式來獲得那麼多人的喜愛跟信仰,才不會以為喜歡他的人都是腦子進水(包括我很多親人)。
目前粗淺觀察,他真的很懂得具象化溝通的技巧,連結已知,疊上未知,避開不可知。說話的節奏、起伏、聲調也抓的蠻不錯的,能夠傳達親切感。
我覺得我同溫層裡的朋友,絕大多數可能跟我一樣,之前都沒看過我分享的那些影片跟內容,看到韓的消息,都是負面且糟糕的。所以才會在我分享且給予「其內容展演」(而非人格或施政)正面評價時,馬上覺得不舒服,特地留言跟我說。
老實說,這就是我希望我自己不要掉入的坑。如果要暫時地評價一個政治人物,我還是希望我能有足夠的資訊、充分的時間、用盡量獨立客觀的視角,再下判斷。
---
綜合以上三件事,我想講的其實是:
---
當人們對一件事情有了既定的信念(也就是意識形態),而且過度自信,就會傾向於在環境周遭蒐集能夠支持自己信念的線索,忽視那些有違自己信念的線索,這就叫做「確認偏誤」(confirmation bias)。
這是一隻潛伏在每個人心中的怪獸。
這隻怪獸你我現在都聽過,而且在每個人身上都找得到,而假新聞跟各種政戰訊息,就是用來餵養確認偏誤這隻怪獸的飼料。
我們自己主動選擇的媒體訊息,以及社群媒體演算法生成的個人化小圈圈,則是保障確認偏誤怪獸快速長大的巢穴。
人本就偏好 #新奇又熟悉的訊息,因此若能在符合閱聽人既定信念的前提上,提出刺激吸睛的內容,在這個人人皆是自媒體的時代,要獲得廣傳並不難。
因此我認為,政府若要應對假新聞/假消息的危害,絕對不能忽視個人的角色,更要 #由下而上地建立資訊信任感。若單從行政層級由上而下來著手,反而會帶來更多更大的反彈。就跟這次 NCC 裁罰中天的事件一樣。
也因此,儘管包括沈柏洋老師、范疇老師等許多我信任的專家,認為《國家安全法》或國安局可以是對付假新聞/假消息的單位,我卻覺得有點不妥。
我擔心,那正中了有心人的下懷。若我們開始以 #戰爭典範 處理假新聞,就必然落入 #敵我辨識、#互相計算 的場景,就像掉入蛛網難以自拔,對一個還有點脆弱的民主來說,是很危險的一步。
我並不是要淡化中國政府以及中國政府支持的國內單位散播假新聞/ 假訊息的意圖、能耐以及威脅。事實上,正是因為我認為這問題的確嚴重,才會寫這一大篇。但我想,在因應假新聞(或我更熟悉的謠言、偽科學等等)時,除了戰爭典範外,至少還該考慮以下4種典範:
第一是食安典範,也就是把假新聞視為摻假食品。隨之而來的因應策略包括溯源、舉發、法辦。
再者是疾管典範,亦即把假新聞視為傳染病毒,因應策略有溯源、疫苗以及提升抵抗力。
第三則是天災典範,這個典範讓我們把假新聞視為天然災難,因應策略有觀測、遷移與調適。
最後則是消防典範,就是把假新聞視為失火等意外,因應策略就是巡邏、撲滅以及設置防火巷。
不同的典範會導出不同的因應策略,沒有哪一種典範是絕對好或絕對不好的,但直接跳入戰爭典範,以國家安全的名義介入,雖然看起來最直接有效,但後果可能也更麻煩,我認為是需要細思量的。
(過去相關文章:〈因應假新聞的五種典範〉
https://medium.com/%E9%84%AD%E9%BE%9C%E7%85%AE%E7%A2%97%E9%BA%B5/%E5%9B%A0%E6%87%89%E5%81%87%E6%96%B0%E8%81%9E%E7%9A%84%E4%BA%94%E7%A8%AE%E5%85%B8%E7%AF%84-a9786547bf1e)
我個人的立場偏向 #疾管典範 跟 #天災典範,也就是更期待政府與民間攜手合作,以提高公民素養、#科學思辨力 為基礎,將假新聞的威脅 #視為一種常在風險 加以管理。
我個人認為這是民主國家,最該優先採取的回應方式。雖然不管採取哪種因應措施,多少都會碰到言論自由的紅線,但倘若社會對特定典範沒有信任感跟共識,想像跟討論時都快速用上戰爭語言,只會讓確認偏誤這隻怪獸愈發兇惡、黨同伐異的問題更嚴重。
如果我們被「假新聞的討論」弄得心神不寧,那其實假新聞也就達到目的了。一隻蒼蠅想要砸毀一家瓷器店很難,但蒼蠅卻能夠惹怒一頭公牛,誘使牠衝進瓷器店,毀了一切。台灣就是瓷器店,而充滿怒氣的公牛們已蓄勢待發。
假新聞很像超廉價的恐怖攻擊,主要的目標都是綁架我們的想像力,讓我們提心吊膽、產生低品質的焦慮、質疑與對立,做出過當的行為。擔心一輛又一輛汽車上有沒有炸彈,也擔心一個又一個粉專是不是已經被收買了。
我們當然要提防,要行動,但不該像是提防炸彈一樣緊張兮兮,隨時拿著槍要把恐怖份子斃了。而是該像地震或登革熱一樣,有心理準備,平時也做好演練跟預防擴散。
回到沈老師的演講逐字稿,其實他已經提出好幾個可行作法,除了媒體識讀以外,另外就是 #揪出節點 跟 #透過影片建立敵我意識,但他也表示他的擔憂:目前沒有組織、沒有政府或民間預算能做這些事情。
這不禁讓我想到最近大熱的公視台劇《 我們與惡的距離 The World Between Us》。這部我認為製作精良達到台劇天花板的好戲,十集才花 4300 多萬製作。能在那麼多面向,把故事都說的那麼好,我想能夠帶來的影響,比再精闢的論述或重大新聞,都大太多了。
所以我覺得,台灣實在值得花個一億(或是更多),拍一部《我們與中國的距離》,好好把我們面臨的問題用寫實的故事呈現出來。
但我想了想,這樣的題材應該沒有人敢拍。當我發現絕對不可能在台灣的大型精緻影劇作品中,出現對中國的批評,就覺得很恐怖。儘管這就是為何該拍,儘管還是沒有人敢拍。
我雖然對於建立台灣國族認同沒有興趣,但中國的確已經透過我們都知道的方式,很有效地消除了最有影響力的戲劇作為構築防禦工具的可能。我想這不管愛奇藝或騰訊、優酷進不進來台灣市場,都來不及了。
如果精緻大戲拍不成,找Youtuber 網紅或許有機會,擴散效果也不錯。最最不濟,或許拍一個拍不成的劇為何拍不成的故事,也不錯。
另外,我認為就是要認真建立一個新的組織,有點像是氣象局+國家災害防救科技中心,或是疾病管制署+各地衛生局這樣的搭配,用天災典範跟防疫典範來應對假訊息。我認為去戰爭化,對於台灣這個特殊的狀況來說,對於扮演印太非麻煩製造者的角色來說,都是比較好的選擇。
雖然《美國隊長 2》其實沒能告訴我們該怎麼真正把九頭蛇處理掉,但另一部漫畫或許可以。
在漫畫《潮與虎》(舊譯「魔力小馬」)中,同樣是九字輩的九尾狐「白面者」,吸取人的惡意跟怨恨成長,成為毀天滅地的怪物。孵化出白面者的人類沙加克沙,獲得怨恨集合體的獸矛,最後充滿怨恨的阿虎成為第一個字伏,白面者不斷以怨恨為食,創造出一代一代的字伏(失去理智的怪獸)。
要打敗白面者,首先要認知白面者就是我們自己孕育出來的,不是全然的他者,那些看起來代表惡的人或妖,其實也需要我們理解、需要想方設法讓他們成為我們的夥伴,而不是排斥切割。要撐住這個島,需要所有人、民間力量、專門機構的協力。
然而,最終的關鍵是,不要靠恨的力量。
為了守護未來、為了守護所有人,包括那些我們討厭的人,我們必須要面對挑戰,whatever it takes,但我始終相信,恨、恐懼、焦慮,會讓我們用錯手段、走上錯誤的道路。
以上,是一個軟爛中年人的真心話。
js 子節點 在 King Jer 娛樂台 Facebook 的最佳解答
情人節轉個彎就到,各位巴絲睇嚟都準備得如火如荼。未有頭緒嘅唔洗灰住,本台今日請到有「#女神收割機」「#將軍澳食家」「#人生勝利組組員」「#宅男公敵」之稱嘅羅天宇,化身客席講師,舉行研集班為大家嚟個精讀,探討情人節點樣化身暖男冧掂女神
Lecture 一開波,羅老師就入中路問咗條八千蚊嘅題目:「要令火燃燒,要具備四種元素:Heat、Oxygen、Fuel、Chain Reaction。咁如果要令愛火燃燒,應該要啲咩?其中一樣重要嘅元素就係一位暖男。咁要成為暖男,要具備咩特質?」現場鴉雀無聲… ok,各位型男索女,你地覺得要具備咩特徵先叫「暖男」?
A) #細心:bb每四個鐘要餵一次奶,女友bb亦都要每兩個鐘補一次妝,係女友個妝開始崩潰同露出本來嘅真面目之前,喂暖男們,識做啦!
B) #摩擦力:「bb 我今日個樣有咩唔同呀?」咁有哲學性嘅問題,暖男當然要夠摩擦力,摩擦到女友原來今日轉咗隻胭脂:「我知!bb你今日轉咗隻胭脂,一睇就知係JILL STUART 新出嗰隻 Blend Blush Blossom 04號色,一盒有兩種色㗎嘛!」
C) #送禮勤:禮多人不怪,送禮要勤力,定時定候準備定花同禮物實無死,各位絲打2月14號參加咗「情人節辦公室收花大賽」,作為暖男緊係要幫女友助攻啦,送花之餘補多盒JILL STUART Blend Blush Blossom 胭脂,勁過唱片啲隨碟附送,四台聯頒收花大獎仲唔係你拎?
D) #孝子:冧掂埋未來岳母,連佢都對你讚口不絕嘅話,呢個世界係你㗎喇!
未出pool定pool已出都好,快啲睇片同羅老師學吓嘢,同埋上羅天宇 IG 玩遊戲贏 JILL STUART blend blush blossom 胭脂喇:https://goo.gl/q15Vu4
#JillStuartHK #SpringPoppingShower #JS雙色胭脂 #特約分享
#BlendBlushBlossom #CheekGirl
#羅天宇係叻仔嘅 #其實點解係宅男公敵 #應該係宅男偶像先係
#你睇佢幾樂意分享秘訣 #今日係咪學咗好多嘢 #嗌聲多謝老師 #Goodbye羅Sir