【新年企劃】過年就包紅包幣 | 智能合約開發計劃 #1

閱讀時間約 12 分鐘

新年快樂!

2022年的農曆新年在一月底就要登場了!說到新年或多或少一定免不了要家族團聚吃個團圓飯,又到了這個時間了,身為社畜的你想好今年要包多少紅包給家人了嗎?
在深思熟慮之後,我決定在一月份開啟一個特別企劃,與大家分享如何發行自己的幣,今年過年就逼親戚下載錢包,直接把你的發大財幣、紅包幣、坐以待幣、大學延幣通通在過年的時候射給他們,除了讓他們能夠體驗第一次獲得加密貨幣的感受以外,或許你也可以想想自己的代幣經濟,例如一億顆新臺幣能夠兌換一頓燭光大餐之類的,好不浪漫。
所以這個月預計大約花四週共四篇文章的篇幅,在過年前把幣準備好,我們一起發送自己的加密貨幣給周圍的親朋好友當作一種祝福吧,一定會很酷的!不過我們會先在本機端進行測試,之後再發到以太坊的測試網上,所有在以太坊測試網上的操作都是不用錢的,當然上面的錢也完全不具有任何價值。等到確定我們的智能合約在以太坊測試網上也都沒問題了,再考慮去以太坊主網還是Polygon上發幣都可以,或是就送親戚測試網上的幣其實也可以啦~
嗯...不過有些內容我的文章還來不及寫到,本文中我們先把未來可能會用到的東西大致講過一遍,如果有地方不太清楚或是有誤的話歡迎留言告訴我,我會在後續的文章中做調整。這篇就是先讓大家先暖暖身,分為六大主題:
1. 區塊鏈瀏覽器
2. 智能合約
3. Solidity
4. Remix
5. 以太坊的主網與測試網
6. 事前準備
請特別留意!由於這篇有些東西會需要連線到外部網址,所以我會特別都把網址打出來,這些網站都絕對不會要求你輸入任何錢包的私鑰或助記詞,或是要求你要先付錢才能使用,記得在操作前都要對一下網址,可以的話盡量不要直接去Google搜尋,免得不小心掉入詐騙或釣魚網站中了。

區塊鏈瀏覽器

關於區塊鏈瀏覽器,我在之前的文章「我用一萬塊買了最後一個 Traveloggers」中提到甚麼是區塊鏈瀏覽器、如何使用以及有哪些特別功能,沒看過的可以先回去看一下並進行一些操作與研究。由於未來我們要開發自己的程式,並用這些程式碼發行自己的加密貨幣,所以在玩這些東西之前一定要先摸摸看如Etherscan的瀏覽器,網址是 https://etherscan.io/ 把你的錢包地址複製起來查查看餘額之類的,都會對我們之後的開發部屬很有幫助。

智能合約

自從2009年比特幣誕生,以往的人如果想要打造自己的加密貨幣,就必須要先打造一條自己專屬的鏈,因為當時的區塊鏈就是一個帳本,帳本內紀錄的交易內容寫的幣種就會是發行在上面的幣,所以通常比較快都會直接拿比特幣的程式碼複製起來改一改重發一個自己的區塊鏈,或是對它進行快照直接分叉出新的幣,總之想要發行自己的加密貨幣,就必須先打造一條自己的區塊鏈,那就要有礦工幫忙維護這個新的區塊鏈,門檻相當高也非常麻煩,所以後來在2015年出現了以太坊,以及智能合約。
以太坊的出現幫助大家打造一條區塊鏈的基礎建設,每個人都能使用以太坊作為基礎,在上面撰寫智能合約的程式碼來發行自己的代幣。因為不用建立自己的區塊鏈,而是將自己發行的代幣依附在以太坊上,便大幅降低了發行貨幣的門檻,於是各式各樣的加密貨幣,甚至到後來的NFT就如雨後春筍般地冒出。
正常來說要發行自己的幣就需要寫一份智能合約,但是在OpenSea之類的應用平臺上我們可以不用寫程式就發行並轉移自己的NFT,事實上背後也是呼叫OpenSea開發的智能合約來做到的哦。
智能合約簡單來說就是放在區塊鏈上運行的程式碼,除了我們這次要發行自己的加密貨幣這個目標以外,智能合約還可以拿來寫許多不同的去中心化應用程式(Dapp),但是我們就不多談,可以把它們想像成是一台又一台功能不同的自動販賣機,選擇不同的販賣機,丟個硬幣進去,告訴機器我們目前需要的服務後,販賣機就會自動吐出結果;相對於我們這次的開發目標就會是丟錢包地址跟參數進去,期望這個智能合約能夠建立新的加幣貨幣,並且能夠有轉帳至他人錢包地址的服務。

Solidity

Solidity是受到C++、Python與JavaScript的影響產生出來的新程式語言,目標就是用來開發智能合約。藉由Solidity我們可以編寫出具有商業邏輯的應用程式,並在編譯後能夠在以太坊虛擬機(EVM)上自動運行這些服務,所以對於寫過程式的人而言,在學習Solidity時雖然邏輯差不多,但是要多了解一些商業的知識,不然沒辦法完全地看懂程式碼!
由於區塊鏈去中心化與不可竄改的特性,一旦這些應用程式被放到區塊鏈之後,就不能修改了,所以不用擔心被任何人破壞,更沒有人可以隨意更改這個智能合約的遊戲規則。
以下是Solidity的範例程式碼,稍微看一下它大概長什麼樣子吧:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;

contract Variables {
// State variables are stored on the blockchain.
string public text = "Hello";
uint public num = 123;

function doSomething() public {
// Local variables are not saved to the blockchain.
uint i = 456;

// Here are some global variables
uint timestamp = block.timestamp; // Current block timestamp
address sender = msg.sender; // address of the caller
}
}
如果學過JavaScript應該會覺得蠻相似的,如果完全看不懂也沒關係,之後開始寫了再來研究吧,而這些範例的部分,有個網站是https://solidity-by-example.org/variables/,這裡面會有較新版本的Solidity程式碼範例可以學習。

Remix

Remix是以太坊提供給開發者的線上Solidity程式語言編輯環境,網址是https://remix.ethereum.org/,看到的畫面應該會類似於此:
最左側由上面數下來可以看到六個圖示
第一個是Remix的Logo。
第二個是檔案總管,網頁打開時就已經點選了,檔案總管能讓我們看到目前這個Remix線上開發環境的所有檔案。
第三個是Solidity的編譯器,它的用途很重要,當我們程式(智能合約)寫完之後就是要靠這個編譯器,將人類看的懂的程式碼,轉換成電腦看的懂的語言,讓電腦去執行我們希望它做的事情。
第四個是發佈以及執行剛剛編譯好的智能合約,並不是說智能合約編譯後就完工了,像我們這次的主題,發行自己的加密貨幣,那麼在讓電腦執行智能合約之前,我們勢必仍要先告訴它一些重要的參數,例如幣種名稱、總發行量、要發行在哪一個區塊鏈上、發行了這個幣請把所有的錢全部打到我的哪一個錢包中等等,這樣才算完整的發佈我們的智能合約哦!
第五個看起來像一個插頭,我們這次應該用不到,這個Plugin manager可以增加一些額外的套件,幫助我們開發不同的智能合約。
第六個就是設定,再左側的最底下,例如可以把背景主題換成淺色的功能。
只要點選檔案總管,並選擇某個程式檔案,就會在右邊最大塊的畫面中開啟程式碼,這裡就是用來寫程式的地方,右邊的下方則是之後當我們要發佈或執行編譯好的程式碼時,會顯示成功或是錯誤的地方,可以幫助我們檢測程式或是合約的錯誤。
之後我們會在Remix上面開發並且發行自己的加密貨幣,因為Remix是以太坊官方提供的線上整合開發環境,這麼佛心的工具使得我們完全不需要事前在電腦上安裝一堆不同版本的環境,大幅減低開發門檻與出錯的機會,若未來Solidity有版本升級,要切換也是易如反掌啦。

以太坊的主網與測試網

主網(Mainnet)指的就是我們平常在用的以太坊區塊鏈,上面流通的以太幣還有各式各樣的東西都是真的,但是如果今天我們是開發者,一定不希望自己寫的程式每次想要執行與驗證,都要放上區塊鏈,因為所有在鏈上的操作都是一筆可觀的手續費,而程式開發通常也不可能一次就到位,總是要反覆驗證避免有甚麼樣的漏洞。
這時候就是測試網出場的時機了,可以把測試網想像成是一模一樣的以太坊,不過上面流通的以太幣以及所有的幣種都是玩具鈔,常見的以太坊測試網有Ropsten、Rinkeby、Kovan、Goerli等等,要注意不同的測試網分別代表不同的區塊鏈哦!
在上面的任何操作雖然一樣需要消耗以太幣,但是那是假的以太幣,是真實世界不存在,只存在在幻想之中(真的以太幣好像也不存在真實世界中…),那這些以太幣玩具鈔要怎麼得到呢?所以很有意思的第一步,我們現在就要去領錢了,免費的錢!
首先,你要先有Metamask,因為我們之後開發都會在上面,通常我們會直接在Chrome瀏覽器上安裝插件,如果你還沒有的話Metamask的網址是https://metamask.io/,也能到網路上查查如何設定並開始使用Metamask錢包,記得要將助記詞或私鑰保管好,不要告訴任何人,否則一旦有人知道了你的私鑰,就有權利將錢包中所有的錢盜領出來,一定要注意!
在測試網中有個地方,只要把錢包地址給它,它就會發送假的以太幣給那個錢包,可能是因為發錢如流水吧,又被稱作水龍頭(Faucet),不同的測試網中有不同的水龍頭網址,Metamask在做主網切換的時候要注意,若你領了Ropsten測試網上的以太幣,錢包的網路卻還是在以太坊主網上的話,這些免費領到的錢就不會顯示出來。
Metamask切換至Kovan測試網路的兩步驟:
1. 在Metamask中點選「以太坊 主網路」的下拉選單
2. 選擇Kovan 測試網路
接著,將自己的錢包地址複製起來,我們去水龍頭領錢了!網址是https://linkfaucet.protofire.io/kovan,打開後頁面會長這樣:
左側的Network顯示為以太訪的測試網路Kovan,當然你可以點開下拉選單,轉換一下不同的測試網路,不過我們這次開發會在Kovan上,所以只要領Kovan測試網的ETH就好,右側輸入錢包地址,按下我不是機器人並Sand request。
按下之後,這個水龍頭就會發送交易,將ETH以及LINK幣鏈上轉帳給我們,看到”Waiting for confirmation”表示這些資產正在上鏈中可以稍等一下,直到變成”Request complete”就成功了!趕快回去打開Metamask錢包就能看到剛剛被發送的10顆Kovan LINK以及0.1顆Kovan ETH,再次強調,這裡的錢只是玩具鈔,就算你有100,000,000顆ETH,它的資產價值也是0哦!

事前準備

看完了這次的暖身,主要需要做的事情就是要先閱讀完這篇文章,接著準備好一個Metamask錢包,將其切換為Kovan測試網,再去水龍頭那領取免費的測試網以太幣;而需要學習的部分則是學著使用區塊鏈瀏覽器、看一下Solidity程式語言以及Remix開發環境大概長什麼樣子就好了。
下一篇我們就要在Remix上開始打造我們自己的加密貨幣了,敬請期待!

最後,謝謝你在百忙之中願意抽空來花時間來看我的文章,如果還喜歡這些內容的話希望能獲得你的追蹤及支持,也歡迎點此連結在其他平台找到我
下次見嚕 o((>ω< ))o~
為什麼會看到廣告
《科技隨筆 | 智能合約開發計畫》 智能合約開發計畫會深入淺出,從認識以太坊的協議開始出發,慢慢從最簡單的代幣到發行 NFT ,甚至是開發一些去中心化應用程式(Dapps),並做一些簡單的使用者介面讓任何人可以透過瀏覽器開啟 Web3.0 的大門。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
2023年我只設了一個大目標"穩定發文",最後挑戰成功了!然因去年底的身體警訊,今(2024)年我得同時挑戰兩個"大目標"--健康與發文兼顧! 且兩個大目標下,還有各有4個"子目標"願景..我花了1-2月這兩個月的時間,進行了各種資料收集與"先期挑戰",最終我的具體目標和預計的執行路徑會是什麼呢?
Thumbnail
農曆新年快樂,餃子有元寶的寓意,一起迎向豐盛之路。 靜心深呼吸3次,選一份與你有連結的餃子,看看如何開啟今年的豐盛之路。 透過情感與情緒的流動帶領內在的能量流動,並附有相關精油療癒與正面語句的建議,一起開啟豐盛之路。
Thumbnail
熱血沸騰的BWF年終賽彷彿昨天才剛剛結束,新年度賽季緊接從1月9日起,由超級1000等級的馬來西亞公開賽揭開序幕。本賽事作為奧運積分週期下半場的第一項大賽,各路高手齊聚。籤表一公布,各分項首輪已出現許多堪稱決賽規格的對決。
Thumbnail
亞企味屋 AJIYA 西湖店,位在捷運西湖站步行約九分鐘的距離 餐廳位置在轉角內,有點隱密需張大眼睛仔細找一下~ 亞企味屋 AJIYA 西湖店,環境挑高擺放許多電視,一邊用餐一邊看電視不怕無聊~ 座位區下方有插座可以充電,不怕手機臨時滑到沒電! 裝潢走一個溫色調,隨著耶誕節即將來臨,店內精心
Thumbnail
包子企業-贏在起跑點:大小包子的紅包袋計畫(2021年更新) 記得小時後領到的過年紅包嗎? 當年在爸媽一句『幫你存下來』的強力建議下,這筆錢又再次回到父母的手中,有些父母可能會直接拿來貼補家用,有些父母則老實的幫小孩開個銀行帳戶,並且設定成定期存款,作為將來小孩的教育基金,而在我們家呢? 當201
Thumbnail
記得小時後領到的過年紅包嗎?   當年在爸媽一句『幫你存下來』的強力建議下,這筆錢又再次回到父母的手中,有些父母可能會直接拿來貼補家用,有些父母則老實的幫小孩開個銀行帳戶,並且設定成定期存款,作為將來小孩的教育基金。而在我們家呢?  當2010年包子企業開始執行 養老500(養老500計畫-源由)
Thumbnail
當家族的小孩輪流講吉祥話,大家發自內心覺得有趣開心嗎?還是說連長輩都只是強顏歡笑,跟所有人一起努力避免尷尬的氣息竄出體外?紅包是一種禮物,通常代表祝福。我不知道其他人如何,但如果我要送禮物,我不會要求對方先唱歌或做什麼其他事情才送……
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
2023年我只設了一個大目標"穩定發文",最後挑戰成功了!然因去年底的身體警訊,今(2024)年我得同時挑戰兩個"大目標"--健康與發文兼顧! 且兩個大目標下,還有各有4個"子目標"願景..我花了1-2月這兩個月的時間,進行了各種資料收集與"先期挑戰",最終我的具體目標和預計的執行路徑會是什麼呢?
Thumbnail
農曆新年快樂,餃子有元寶的寓意,一起迎向豐盛之路。 靜心深呼吸3次,選一份與你有連結的餃子,看看如何開啟今年的豐盛之路。 透過情感與情緒的流動帶領內在的能量流動,並附有相關精油療癒與正面語句的建議,一起開啟豐盛之路。
Thumbnail
熱血沸騰的BWF年終賽彷彿昨天才剛剛結束,新年度賽季緊接從1月9日起,由超級1000等級的馬來西亞公開賽揭開序幕。本賽事作為奧運積分週期下半場的第一項大賽,各路高手齊聚。籤表一公布,各分項首輪已出現許多堪稱決賽規格的對決。
Thumbnail
亞企味屋 AJIYA 西湖店,位在捷運西湖站步行約九分鐘的距離 餐廳位置在轉角內,有點隱密需張大眼睛仔細找一下~ 亞企味屋 AJIYA 西湖店,環境挑高擺放許多電視,一邊用餐一邊看電視不怕無聊~ 座位區下方有插座可以充電,不怕手機臨時滑到沒電! 裝潢走一個溫色調,隨著耶誕節即將來臨,店內精心
Thumbnail
包子企業-贏在起跑點:大小包子的紅包袋計畫(2021年更新) 記得小時後領到的過年紅包嗎? 當年在爸媽一句『幫你存下來』的強力建議下,這筆錢又再次回到父母的手中,有些父母可能會直接拿來貼補家用,有些父母則老實的幫小孩開個銀行帳戶,並且設定成定期存款,作為將來小孩的教育基金,而在我們家呢? 當201
Thumbnail
記得小時後領到的過年紅包嗎?   當年在爸媽一句『幫你存下來』的強力建議下,這筆錢又再次回到父母的手中,有些父母可能會直接拿來貼補家用,有些父母則老實的幫小孩開個銀行帳戶,並且設定成定期存款,作為將來小孩的教育基金。而在我們家呢?  當2010年包子企業開始執行 養老500(養老500計畫-源由)
Thumbnail
當家族的小孩輪流講吉祥話,大家發自內心覺得有趣開心嗎?還是說連長輩都只是強顏歡笑,跟所有人一起努力避免尷尬的氣息竄出體外?紅包是一種禮物,通常代表祝福。我不知道其他人如何,但如果我要送禮物,我不會要求對方先唱歌或做什麼其他事情才送……