本文章不定期更新, 如果有錯誤請跟我說,謝謝
編譯器版本 0.4.25+
一個標準的 ERC20 智能合約需具備的函式有
emit 事件使用
revert 該次交易會失敗
合約佈署後,就不能夠修改 ( 聽勇者說有熱更新 )
所有的節點都會執行一次 合約內容, 且執行內容都會一致
上傳修改 都要花手續費
萬一某次執行合約有錯誤,整批更新都不算,會回滾
資料儲存在區塊鍊上(因永久有效手續費比較貴),資料儲存在此次交易的暫存記憶體上, 手續費就比較便宜
沒有float資料型態
宣告變數時, 就要預先知道數值的範圍, 然後給予可以容納的範圍 ( uint16 = 2^16 )
bytes = 8bit * 1 = 8bit => 可以儲存 0xab
bytes2 = 8bit * 2 = 16bit => 可以儲存 0xabcd
bytes32 = 8bit * 4 = 256bit => 拿來存放 block.blackhash(4);
1個byte = 8 bit ( 可以儲存2個16進制)
1個16進位是 4bit
0xF = 16(10進制), 要 4bit 來處存 (1111)
sha256 回傳的 0xaaaaaa 是256bit
建構子
佈署合約時會執行一次
可以有船入參數, 但不能有回傳值
函式保留字
純粹用來記錄, etherscan拿來記錄轉幣紀錄(token)
記錄購買者是誰? 買多少?
紀錄轉帳給誰? 轉多少?
智能合約實做下列函式
approve 來同意 誰 可以使用我的代幣
之後用 transferFrom 來 轉代幣
轉幣是透過智能合約來轉換
來源 自己的小狐狸錢包地址
目的 合約地址
圖解
我佈署好的合約
我用新版的 remax IDE 之後
我點下方的 url 沒辦法直接連到 合約?
正常點下方url, 轉到該筆交易去, 再點 contract合約, 即可跳到智能合約部分
程式碼要開源( Verify and Publish ),才看得懂記錄在紀錄啥
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing