【開發智能合約 — Solidity系列】實作篇Ep.4 -貨幣與時間單位

更新 發佈閱讀 4 分鐘
raw-image

「人」與「人」之間無非時時刻刻都在交易,只是每一種交易的形式與媒介有所不同,而區塊鏈的世界也有特定的交易單位,主要分為兩大類型的單位, 分別是以乙太幣單位以及時間單位。

💰 乙太幣單位

最小單位為「wei」, 而其餘主要會用到的單位分別是「gwei」與「ether」。

// 1 wei是貨幣中的最小單位
uint oneWei = 1 wei;

require(oneWei == 1, "1 wei is not equal to 1");

// 1 gwei is equal to 10^9 wei
uint oneGWei = 1 gwei;
require(oneGWei == 1e9, "1 gwei is not equal to 1e9");
require(oneGWei == pow(10, 9));

// 1 ether is equal to 10^18 wei
uint oneEther = 1 ether;
require(oneEther == 1e18, "1 ether is not equal to 1e18");
require(oneEther == pow(10, 18));
require(oneEther == 1000000000 * oneGWei, "1 ether is not equal to 1000000000 gwei");

🕑 時間單位

時間單位的部份就比較容易理解了, 非常直觀, 以「秒」為基礎單位進行延伸。

P.S: Solidity的時間表示方式是Unix Time

// 1秒
assert(1 seconds == 1);

// 1分鐘 = 60秒
assert(1 minutes == 60 seconds);

// 1小時 = 60分鐘
assert(1 hours == 60 minutes);

// 1天=24小時
assert(1 days == 24 hours);

// 1周 = 7天
assert(1 weeks == 7 days);

由於block(區塊)中通常帶有時間戳記, 而單位也是秒, 因此我們可以進行一些區塊的驗證如下:

function validate(uint start, uint secondsAfter) public {
// 區塊的時間戳記至少在3秒以前, 才算有效
if (block.timestamp >= start + secondsAfter * 3 seconds) {
// ...
}
}

結語

「單位」在區塊鏈的世界中真的非常重要,尤其與金流及驗證有關的演算都是需要進行單位轉換的演算,因此我們務必打好基礎,理解各個單位的用法、等價方式…,才能夠撰寫出一份完整的合約內容。

今天的範例都在這裡「📦 solidity-remix-toturial/Ep4」歡迎自行取用。

📚 更多關於Solidity的文章請看這裡…

留言
avatar-img
留言分享你的想法!
avatar-img
阿Han的沙龍
139會員
303內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
阿Han的沙龍的其他內容
2023/08/01
 相信常常聽到元宇宙的世界裡有一個並不陌生又有點距離的名詞「XR擴展實境」,包含了三大核心技術,分別為VR、AR與MR,其中VR與AR較為貼近我們的生活,那三者究竟有何不同呢? 就讓我們持續的看下去吧! VR 虛轉實,把假的變成真的 說到VR最直覺的就是想到VR頭盔吧,它可以帶給我
Thumbnail
2023/08/01
 相信常常聽到元宇宙的世界裡有一個並不陌生又有點距離的名詞「XR擴展實境」,包含了三大核心技術,分別為VR、AR與MR,其中VR與AR較為貼近我們的生活,那三者究竟有何不同呢? 就讓我們持續的看下去吧! VR 虛轉實,把假的變成真的 說到VR最直覺的就是想到VR頭盔吧,它可以帶給我
Thumbnail
2023/06/30
什麼是零知識證明(Zero-knowledge proof) 是一種密碼學的概念,用於在不揭示具體信息的情況下,證明某個主張的正確性。它允許一方(稱為證明者)向另一方(稱為驗證者)證明某個陳述的真實性,而無需透露任何關於陳述的具體細節..., 這根本文字天書啊,底下讓我們用白話文來說一下唄! 「我必
Thumbnail
2023/06/30
什麼是零知識證明(Zero-knowledge proof) 是一種密碼學的概念,用於在不揭示具體信息的情況下,證明某個主張的正確性。它允許一方(稱為證明者)向另一方(稱為驗證者)證明某個陳述的真實性,而無需透露任何關於陳述的具體細節..., 這根本文字天書啊,底下讓我們用白話文來說一下唄! 「我必
Thumbnail
2023/05/31
一套大型的智能合約通常都會拆分成許多小合約,並且透過匯入的方式拼裝而成,而這樣的匯入在Solidity世界中就是「Import」,就讓我們來看看「Import」到底怎麼運用吧! 假設目錄結構如下 example.sol other.sol 我們引入的方式就會是: import ‘./other.so
Thumbnail
2023/05/31
一套大型的智能合約通常都會拆分成許多小合約,並且透過匯入的方式拼裝而成,而這樣的匯入在Solidity世界中就是「Import」,就讓我們來看看「Import」到底怎麼運用吧! 假設目錄結構如下 example.sol other.sol 我們引入的方式就會是: import ‘./other.so
Thumbnail
看更多
你可能也想看
Thumbnail
蝦皮分潤計畫讓我在分享旅遊文章時,也能透過推薦好物累積被動收入,貼補旅行基金。這篇文章,除了介紹計畫的操作亮點與心得,也分享我最常應用的案例:「旅行必備小物 TOP5」,包含行李鎖、免洗內衣褲、分裝瓶、折疊衣架與真空壓縮袋,幫助出國打包更輕鬆。想同時記錄旅行、分享好物又創造額外收入的你,千萬別錯過!
Thumbnail
蝦皮分潤計畫讓我在分享旅遊文章時,也能透過推薦好物累積被動收入,貼補旅行基金。這篇文章,除了介紹計畫的操作亮點與心得,也分享我最常應用的案例:「旅行必備小物 TOP5」,包含行李鎖、免洗內衣褲、分裝瓶、折疊衣架與真空壓縮袋,幫助出國打包更輕鬆。想同時記錄旅行、分享好物又創造額外收入的你,千萬別錯過!
Thumbnail
想增加被動收入?加入蝦皮分潤計畫是輕鬆上手的好方法!本文提供完整教學,包含申請流程、賺取分潤技巧,以及實際使用心得分享,助你輕鬆獲得額外收入。
Thumbnail
想增加被動收入?加入蝦皮分潤計畫是輕鬆上手的好方法!本文提供完整教學,包含申請流程、賺取分潤技巧,以及實際使用心得分享,助你輕鬆獲得額外收入。
Thumbnail
「人」與「人」之間無非時時刻刻都在交易,只是每一種交易的形式與媒介有所不同,而區塊鏈的世界也有特定的交易單位,主要分為兩大類型的單位, 分別是以乙太幣單位以及時間單位。 最小單位為「wei」, 而其餘主要會用到的單位分別是「gwei」與「ether」。 時間單位的部份就比較容易理解了, 非常直觀,
Thumbnail
「人」與「人」之間無非時時刻刻都在交易,只是每一種交易的形式與媒介有所不同,而區塊鏈的世界也有特定的交易單位,主要分為兩大類型的單位, 分別是以乙太幣單位以及時間單位。 最小單位為「wei」, 而其餘主要會用到的單位分別是「gwei」與「ether」。 時間單位的部份就比較容易理解了, 非常直觀,
Thumbnail
資料型態在合約當中扮演著什麼角色呢? 我們在「【開發智能合約 — Solidity系列】實作篇Ep.2 — 合約中的基本組成元素」有介紹過狀態變數可以儲存一些變化值,而儲存什麼類型的值就是所謂的資料型態,不同的資料型態可以處理的事物也有所不同,因此我們也需要了解一些基本的資料型態以及特性之後,未來開
Thumbnail
資料型態在合約當中扮演著什麼角色呢? 我們在「【開發智能合約 — Solidity系列】實作篇Ep.2 — 合約中的基本組成元素」有介紹過狀態變數可以儲存一些變化值,而儲存什麼類型的值就是所謂的資料型態,不同的資料型態可以處理的事物也有所不同,因此我們也需要了解一些基本的資料型態以及特性之後,未來開
Thumbnail
上一篇我們介紹了智能合約的基本概念,而在開發智能合約之前, 建議先對智能合約具備基礎的概念, 往後進行開發時較容易融會貫通, 還沒閱讀的朋友可以參閱此篇「【開發智能合約 — Solidity系列】 淺談智能合約」。 理解完「智能合約」之後,相信大家已經開始手癢了吧! 應該很想開始動手完成第一個自己專
Thumbnail
上一篇我們介紹了智能合約的基本概念,而在開發智能合約之前, 建議先對智能合約具備基礎的概念, 往後進行開發時較容易融會貫通, 還沒閱讀的朋友可以參閱此篇「【開發智能合約 — Solidity系列】 淺談智能合約」。 理解完「智能合約」之後,相信大家已經開始手癢了吧! 應該很想開始動手完成第一個自己專
Thumbnail
實現Web3.0的核心技術,不論是加密貨幣、NFT、元宇宙,其最核心的部分為區塊鏈。 如果沒有區塊鏈的技術支持,你所看到任何號稱是加密貨幣、NFT的東西都是假的。 區塊鏈最早起源於自2008年中本聰的實驗項目《比特幣:一種點對點的電子現金系統》,直到現在該實驗項目依然持續進行中。
Thumbnail
實現Web3.0的核心技術,不論是加密貨幣、NFT、元宇宙,其最核心的部分為區塊鏈。 如果沒有區塊鏈的技術支持,你所看到任何號稱是加密貨幣、NFT的東西都是假的。 區塊鏈最早起源於自2008年中本聰的實驗項目《比特幣:一種點對點的電子現金系統》,直到現在該實驗項目依然持續進行中。
Thumbnail
區塊鏈是多個技術整合的總稱,最早是採用區塊(Block)作爲儲存資料的單位,其中每個區塊有預設的容量限制,當該區塊滿了,則會生成下一個區塊,並將兩個區塊連結起來,讓他人知道兩個區塊有先後順序;區塊與區塊透過鏈連結在一起,因此叫區塊鏈。
Thumbnail
區塊鏈是多個技術整合的總稱,最早是採用區塊(Block)作爲儲存資料的單位,其中每個區塊有預設的容量限制,當該區塊滿了,則會生成下一個區塊,並將兩個區塊連結起來,讓他人知道兩個區塊有先後順序;區塊與區塊透過鏈連結在一起,因此叫區塊鏈。
Thumbnail
前言 比特幣(Bitcoin)出現時,Coin就足以代表幣圈的幣,因為他就是一個支付貨幣,而隨著以太坊的出現,區塊鏈上引入智能合約,應用五花八門, 項目方可以在以太坊上發行基於以太坊ERC-20標準的代幣(Token),Token便出現了。 幣 (Coin) 交易由區塊鏈處理 大多可與法定貨幣兌換
Thumbnail
前言 比特幣(Bitcoin)出現時,Coin就足以代表幣圈的幣,因為他就是一個支付貨幣,而隨著以太坊的出現,區塊鏈上引入智能合約,應用五花八門, 項目方可以在以太坊上發行基於以太坊ERC-20標準的代幣(Token),Token便出現了。 幣 (Coin) 交易由區塊鏈處理 大多可與法定貨幣兌換
Thumbnail
這一篇文章會深度解析在區塊鏈的世界中最常見的三種代幣協議 ,當中包含現在最紅的 NFT ,理解這些大家講好的規範,會讓我們在使用時更加瞭解它是怎麼運作的,這樣在使用一些去中心化的服務時,就可以自行去判斷它寫的內容是不是壞壞的,能讓自己避開危險在幣圈可是很重要的生存之道呢。
Thumbnail
這一篇文章會深度解析在區塊鏈的世界中最常見的三種代幣協議 ,當中包含現在最紅的 NFT ,理解這些大家講好的規範,會讓我們在使用時更加瞭解它是怎麼運作的,這樣在使用一些去中心化的服務時,就可以自行去判斷它寫的內容是不是壞壞的,能讓自己避開危險在幣圈可是很重要的生存之道呢。
Thumbnail
在本文中,我們會開始寫一些程式,讓讀者瞭解如何利用Remix開發環境來撰寫Solidity程式,以及如何編譯、發佈智能合約。還有在發佈之後怎麼看剛剛設定的參數是否都成功被執行了,一起實作發出人生第一顆發財幣吧!
Thumbnail
在本文中,我們會開始寫一些程式,讓讀者瞭解如何利用Remix開發環境來撰寫Solidity程式,以及如何編譯、發佈智能合約。還有在發佈之後怎麼看剛剛設定的參數是否都成功被執行了,一起實作發出人生第一顆發財幣吧!
Thumbnail
為了瞭解區塊鏈是什麼以及如何運作,在此做了一些研究和討論,希望能分享給大家,讓大家在通往幣圈的路上不孤單. 由於不是本科系出生,也不是相關科系出生,活生生就是一個穩紮穩打的文科生,接下來都會用super 簡單的方式來說明,如果還有疑問的話,都可以提出來一起討論,當作是彼此成長路上互助動力!!
Thumbnail
為了瞭解區塊鏈是什麼以及如何運作,在此做了一些研究和討論,希望能分享給大家,讓大家在通往幣圈的路上不孤單. 由於不是本科系出生,也不是相關科系出生,活生生就是一個穩紮穩打的文科生,接下來都會用super 簡單的方式來說明,如果還有疑問的話,都可以提出來一起討論,當作是彼此成長路上互助動力!!
Thumbnail
Google 常年搜尋榜上有名的「區塊鏈」,你還沒搞懂嗎?在各大機構都開始應用區塊鏈的今日,還不了解就太慢啦~幣修學分挑戰「五分鐘讓你瞭解區塊鏈」! 【區塊鏈紅什麼】用簡單文字、圖解,帶你一次看懂區塊鏈運作、特性、應用,和你不得不認識它的理由!
Thumbnail
Google 常年搜尋榜上有名的「區塊鏈」,你還沒搞懂嗎?在各大機構都開始應用區塊鏈的今日,還不了解就太慢啦~幣修學分挑戰「五分鐘讓你瞭解區塊鏈」! 【區塊鏈紅什麼】用簡單文字、圖解,帶你一次看懂區塊鏈運作、特性、應用,和你不得不認識它的理由!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News