以太坊transfer是啥意思
1. Solidity之地址(address)
在以太坊(Ethereum, ETH)的世界中,地址扮演著至關重要的角色,它們是唯一且與公鑰或合約綁定的。在交易過程中,地址就如同銀行賬戶,是預期收款的標識。
ETH地址主要由兩部分構成:通過keccak-256哈希函數生成的20位元組值,這些值以16進製表示,通常以0x開頭。地址的生成原理是將公鑰或合約的哈希值截取最後20個位元組。在Solidity編程中,只需在變數前加上"address"關鍵字即可定義地址變數。
在Solidity 0.5版本之前,合約地址與可支付地址(payable address)無明顯區分,但0.5.0以後,合約地址類型獨立,只有帶有payable關鍵字的地址才能接受和發送代幣。盡管地址可以進行交易,但推薦使用非推薦方法1和2時需謹慎,如1.address.transfer()和address.send(),而更常用的方法是獲取余額,如address.balance,或者執行智能合約調用,如address.call(bytes memory)等。
創建合約時,零地址(zero-address)是一個特殊的地址,用於合約部署。它是個空的20位元組值,僅包含0x0,交易時在接收者欄位填入零地址,EVM會識別為合約創建請求。
總的來說,以太坊地址是基於公鑰或合約生成的唯一標識,用於交易和智能合約交互,並且地址類型、零地址等概念在 Solidity 中具有特定的用法和規則。
2. 什麼是以太、乙太網、以太坊
以太、乙太網、以太坊以太
以太是一種虛構的物質,是英文Ether或Aether的音譯。一般可以理解為一種看不見摸不著,靜止不動的物質,充斥著整個空間。最早提出「以太」這個概念的是亞里士多德,早在公元前3世紀,他認為世界由五種元素組成,分別是水、火、土、氣、以太,前四者組成了地球,而以太則充斥在整個宇宙之間。
起初在哲學史上,以太帶有一些神秘色彩,後來笛卡爾在17世紀最先將以太引入科學,並賦予它某種力學性質。在笛卡爾看來,物體之間的所有作用力都必須通過某種中間媒介物質來傳遞,不存在任何超距作用。因此空間中不可能是什麼都沒有的,而其中必定需要某種媒介來傳遞諸如引力等相互作用。這種無色無味不能被人直接觀察的媒介就是以太。
但是到了19世紀末,麥克斯韋構建起他偉大的電磁理論,他的理論中,光是一種電磁波,而電磁波的載體是電場、磁場本身,並不需要任何外界物質。而且後來的實驗和理論表明,如果不假定「以太」的存在,很多物理現象可以有更為簡單的解釋。因此,隨著科學發展,沒有任何觀測證據表明「以太」存在,「以太」理論也逐漸被科學界拋棄。
綜上所述,以太、乙太網和以太坊分別代表了不同的概念和技術領域。以太是一種虛構的物質概念,乙太網是一種計算機區域網技術,而以太坊則是一個可編程的區塊鏈平台。
3. BSC可以轉BEP20嗎
可以。
DeFi運動的基礎是代幣,無論是以太坊DeFi中的ERC20代幣,還是BSC Defi 中的BEP20代幣,都是承載各種DeFi協議的基礎媒介。因此,通過觀察BSC上的BEP20的 交易,我們就可以直觀地了解哪些DeFi項目是真正受歡迎的。BEP20和ERC20一樣,在轉賬時都會觸發一個事件,其原型定義如下:Transfer(address from, address to, uint value);因此,我們只要從BSC鏈上提取一定周期發生內的BEP20代幣的Transfer事件並按照代幣 合約地址進行分類統計,就可以知道在這個周期中的各種DeFi項目的真實活躍情況了。BEP20一鍵發幣工具是BSC TokenDIY。首先創建一個新的目錄 bscspider,然後進入該目錄執行如下命令初始化;再編寫Bsc Spider代碼框架,抓取最新區塊的Transfer事件,定時轉儲BEP20交易統計數據,寫出完整的Bsc Spider代碼,最後分析Bsc Spider的轉儲數據。
幣安鏈又叫幣安智能鏈,即BSC,幣安鏈的代幣叫BEP20代幣,它是由全球交易量最大的數字貨幣交易所幣安交易所創建的,該鏈與原有的幣安鏈是並行運行的,並且BSC可以與智能合約相互配合著使用,與幣安鏈相比還要更加的靈活。幣安智能鏈創建至今已經一年多的時間,該項目也慢慢從初創走向了成熟,雖然剛開始有很多人對幣安智能鏈的推出並不看好,但是現在該鏈已經成為除以太坊之外的最強交易所公鏈。
4. ERC20代幣的六個基本功能是什麼
為了創建ERC20令牌,你需要記下以下內容
- 代幣名稱代
- 幣符號代
- 幣小數
- 位代幣數量為流通
- 合約
- 代號驗證源代碼
除了ERC20之外,還有ERC20,ERC721,ERC223,ERC621,ERC827, 具體不做累述,但是對ERC721順便說一下, ERC721是主要用於區塊鏈游戲的協議,大家經常看到的區塊鏈游戲基本上是基於ERC721。
5. 【ETH錢包開發04】web3j轉賬ERC-20 Token
在上一篇文章中講解了ETH轉賬,這一篇講一下ERC-20 Token轉賬。
【ETH錢包開發03】web3j轉賬ETH
1、直接用web3j的API
2、java/Android調用合約的 transfer 方法
不管用哪種方式來轉賬,你都需要先寫一個solidity智能合約文件來創建ERC-20 Token,然後部署合約,最後才是通過客戶端來調用。
注意:erc-20 token轉賬和eth轉賬的區別如下:
1、erc-20 token創建交易對象用的是這個方法 createTransaction
2、erc-20 token需要構建 Function ,它其實對應的就是erc-20 token合約中的那些方法。它的第一個參數就是ERC20中那幾個方法的名稱,第二個參數的話就是對應合約方法中的參數,第三個參數是和第二個參數對應的,按照我那樣就行了。轉賬的話就是 transfer ,我們從合約的 transfer 可以看到第一個參數是收款地址,第二個參數是金額,所以 Function 這里對應起來就好。
這種方法不需要使用web3j封裝的方法,而是直接調用solidity合約的方法。
步驟
1、web3j載入一個已經部署的合約
2、驗證合約是否載入成功 isValid
3、如何載入合約成功,則調用合約的 transfer 方法
注意:
1、這里的 TokenERC20 是根據solidity智能合約生成的對應的Java類,用於java/Android和智能合約交互的,如果你對這里不太清楚,不妨看看我之前的一篇文章。
以太坊Web3j命令行生成Java版本的智能合約
2、如果載入合約失敗,可能的一個原因是合約對應的Java類中的 BINARY 的值不對,這個值是你部署合約成功之後的bytecode,你最好檢查對比一下。
我發送一筆交易,可以通過這個地址查詢
https://rinkeby.etherscan.io/tx/