• ERC721A

    為什麼 ERC721 mint 很貴?ERC721 mint 很貴,核心原因是它會在 mint 當下做多次鏈上狀態寫入,而 storage 寫入正是以太坊裡最花 gas 的操作之一。 如果合約還加上 ERC721Enumerable,每次 mint ...
  • ERC721

    ERC721ERC721 是以太坊上用於非同質化代幣 NFT(Non-Fungible Token)的標準規範,讓每個代幣擁有獨一無二的Token ID。是 2018 年提出的以太坊改進提案(EIP-721),專為不可替代代幣設計。 每個NFT有唯一...
  • ERC20

    ERC20 與 ETH 的根本差異Push 直接發送代幣Pull 發送方先授權接收方,接收方才能動用代幣ETH使用Push方式,ERC20 Push 與 Pull 兩種都有。 為什麼要設計 Pull 模式?由於衍生代幣會跟其他合約互動,若使用 Pus...
  • EIP and ERC

    什麼是 EIP?為什麼需要 EIP?EIP 全名為「以太坊改進提案」(Ethereum Improvement Proposal),是用來對ETH建議新功能的、修改現有協議或定義新流程,包含技術規格、實作細節及提案背後的目的與理由。這是以太坊去中心化...
  • 特殊函數

    receive() and fallback() 合約裡的特殊函數,用來應對一些特殊情況,宣告的時候不用加 function。 receive()專門用來接收 ETH ,只處理有值沒有 data 的情況,宣告不用加 function 但ㄧ定要有 ex...
  • 監聽與過濾

    過濾尋找過去特定的 Event利用 Ethers v6 的 .queryFilter 1contract.queryFilter(contract.filters.Transfer(null, null),fromblock,toblock); 第一...
  • Contract Event

    合約 Event當 Function 涉及改變合約狀態時,通常會 emit event, 讓鏈下系統知道發生了什麼事情。 為什麼智能合約需要 Event?如果只用 storage 儲存資料有什麼問題?如果沒有 Event 只能看到 Storage 的...
  • Function Selector

    什麼是 Function Selector?呼叫智能合約時,告述互動的合約要調用哪個函式,長度是4個bytes(前 8 個 16 進制)。 Function Selector怎麼計算將函數的名稱與型別做keccak256取前8位16進制 1funct...
  • ETH Transaction

    Transaction 結構 欄位 描述 單位/範例 nonce 發送者交易計數器 uint64 maxPriorityFeePerGas 最大優先費(小費給礦工) wei (Gwei 常用) maxFeePerGas 最...
  • 雜湊、加密與數位簽章

    雜湊和加密有什麼不同? 加密 雜湊 金鑰 有 無 可逆性 可 不可 加密加密是可逆的,可以透過金鑰加密或解密,有分為非對稱加密與對稱加密加密,透過一個金鑰將明文變成密文解密,透過密鑰將密文解密明文 非對稱性加密公鑰與私鑰私鑰(Pr...
123