以太坊:關於預編譯合約用途的思考
轉載請註明出處:https://www.cnblogs.com/zhizaixingzou/p/10124240.html
1. 關於預編譯合約用途的思考
1.1. 預編譯合約
當前以太坊的預編譯合約實現如下:
org.ethereum.vm.PrecompiledContracts.PrecompiledContract
以太坊有幾個預編譯合約實現,每一個都是確定功能的,它們有統一的格式:地址、根據交易data計算費用、根據交易data進性邏輯處理最後返回是否執行成功及返回值。
1.2. 實現自己的預編譯合約
我們有時需要合約與外界溝通訊息,如獲取外界的執行資訊。一般的想法就是使用語預言機。但這裡可以考慮另一種方式:巧妙利用預編譯合約。
過程是:
1)像以太坊一樣定義一個指定的預編譯合約,從這裡可以拿到外界資料並返回,為之指定一個地址。
2)定義一個合約和方法,就像Java的本地方法宣告那樣。
3)在需要外界資料的合約內通過預編譯合約地址建立預定義的合約,呼叫它的方法,這樣虛擬機器就會執行到預編譯合約,得到對應的資料。
當然,這裡的問題在於,資料可能不是去中心化的,所以需要考慮使用場景。
相關推薦
以太坊:關於預編譯合約用途的思考
轉載請註明出處:https://www.cnblogs.com/zhizaixingzou/p/10124240.html 1. 關於預編譯合約用途的思考 1.1. 預編譯合約 當前以太坊的預編譯合約實現如下: org.ethereum.vm.Precompiled
以太坊:呼叫已部署的智慧合約
轉載請註明出處:https://www.cnblogs.com/zhizaixingzou/p/10122350.html 目錄 1. 呼叫已部署的智慧合約 相關截圖來自: https://solidity-cn.readthedocs.io/
以太坊:建立合約
轉載請註明出處:https://www.cnblogs.com/zhizaixingzou/p/10122363.html 目錄 1. 建立合約 1.1. 建立未定義構造方法的合約 未定義構造方法的合約預設含一個無payable修飾的構造方法。 1.1.1.
以太坊:在合約裡呼叫指定地址的另一已部署合約
轉載請註明出處:https://www.cnblogs.com/zhizaixingzou/p/10122371.html 目錄 1. 在合約裡呼叫指定地址的另一已部署合約 後面的講解已在下面的線上IDE中驗證過: https://remix.ethereum.org/
以太坊:MetaMask連線私有網路呼叫合約方法時報錯: [ethjs-rpc] rpc error with payload Error: invalid sender
錯誤詳情: [ethjs-rpc] rpc error with payload {"id":7663982154336,"jsonrpc":"2.0","params":["0xf86b808504a817c800833d090094001a4039eed5a5099b2
以太坊remix IDE編譯成功,合約賬戶部署介面編譯失敗
編寫以太坊官方solitidy語言文件demo時出現的問題: Expected identifier, got 'eth_compileSolidity' constructor( ^ 由此經過查詢資料後發現:以太坊mist客戶端合約
以太坊:Dapp及相關開發工具介紹
去中心化應用 去中心化應用是可以使使用者和供應商之間直接互動的服務(例如,連線某些市場上的買方和賣方,檔案儲存裡的持有者和儲存者)。以太坊去中心化應用典型地通過HTML/Javascript網路應用與使用者互動,使用Javascript API與區塊鏈通訊。去中心化應用典型地在區塊
以太坊公開拍賣智慧合約案例
實現一個簡單的公開拍賣智慧合約,所有人都可以出價,把以太幣傳送到指定地址,出價B高於出價A時,那麼A的資金會被自動退回。拍賣結束後,商品所有者會收到最高的出價資金。 智慧合約在拍賣領域能讓過程更透明公平,最大程度的促進參與者的積極性。 contract SimpleAuction { // 定
失落的以太坊:埋頭苦研3年不如EOS主網上線3月
最近EOS的熱度居高不下,完全佔據了公鏈C位,據14號sludgefeed報道,EOS的每日Dapp使用者和交易量超過以太坊,EOS在24小時內共11,428名使用者,而以太坊則為10,562名。此外,EOS7天的Dapp交易量為4800萬美元,而以太坊僅有2600萬美元
以太坊:什麼是ERC20標準?
許多人應該都聽過 程式碼即法律(Code Is Law),因為程式寫完了,無論執行多少次都會得到同樣的結果,除非有外界因素的干擾。在多人協作的過程中一定是要按照一個標準來進行分工,這樣才能最快的完成整體任務,不至於出錯。 接觸過數字貨幣的人都應該知道,以太坊是一個分散式的智
以太坊:Solidity中require校驗不過時的異常訊息是怎麼解析的
轉載請註明出處:https://www.cnblogs.com/zhizaixingzou/p/10122209.html https://solidity-cn.readthedocs.io/zh/develop/control-structures.html?highlight=revert%20
以太坊:事件、日誌和布隆過濾器
版權宣告:本文系博主原創,未經博主許可,禁止轉載。保留所有權利。 引用網址:https://www.cnblogs.com/zhizaixingzou/p/10122288.html 目錄 1. 事件、日誌和布隆過濾器 本文Java原始碼截圖來
以太坊:Solidity語言
轉載請註明出處:https://www.cnblogs.com/zhizaixingzou/p/10122356.html 目錄 1. Solidity語言 下面的截圖說明來自:https://solidity-cn.readthedocs.io/zh/de
以太坊:底層序列化編碼方式RLP
轉載請註明出處:https://www.cnblogs.com/zhizaixingzou/p/10122380.html 目錄 1. RLP:以太坊底層序列化編碼方式 1.1. 簡介 https://segmentfault.com/a/119
以太坊:EVM的儲存結構
版權宣告:本文系博主原創,未經博主許可,禁止轉載。保留所有權利。 引用網址:https://www.cnblogs.com/zhizaixingzou/p/10124209.html 目錄 1. EVM的儲存結構 1.1. VM記憶體
以太坊(go-ethereum)編譯除錯環境搭建
以下步驟都是在MacOs上操作的,但同樣適合Ubuntu,只是有幾個小點有所不同,我會標註出來編譯1. Go環境搭建 Mac: (brew是一個類似ubuntu apt-get的工具,用來在終端安裝軟體的)brew update && brew upgr
瞭解以太坊區塊鏈智慧合約開發從零構建和部署去中心化投票
區塊鏈愛好者(QQ:53016353)編輯器選擇理論上講任何編輯器都可以編寫Solidity合約程式碼,比如:WebStorm,VSCode,Sublime,等等。我選擇的是Atom,沒有任何理由,因為Atom輕量並且介面漂亮。移步https://atom.io/地址,下載安
以太坊可更新智慧合約研究與開發綜述
這篇文章是對以太坊可更新智慧合約領域裡的研究和開發的綜述。它意圖成為一篇便利的資源帖,集中迄今為止的研究,並推進技術討論。此外,我已經建立了一個關於不同策略的優缺點比較的簡要表格,下面會放出來。如果你正在研究或者開發領域工作或者觀摩,請對本文作出評論,給出你對這份表格和我對不
以太坊學習6--智慧合約的線上IDE工具
導語: Remix有哪些功能? 開發智慧合約(集成了solidity語言的編輯器) 動態除錯(debug)智慧合約 訪問已部署的智慧合約的狀態和屬性 程式碼分析,給出錯誤提示,並給出最佳實踐的提示 除錯和測試Dapp(需要藉助於Mist或者其它注入
以太坊教程:搭建環境、編寫編譯一個智能合約
以太坊教程 以太坊 以太坊開發 智能合約 區塊鏈 區塊鏈開發 solidity 本以太坊教程主要是介紹:搭建一個開發環境、編寫編譯一個智能合約。 以太坊是什麽 以太坊(Ethereum)是一個開源的有智能合約功能的公共區塊鏈平臺。通過其專用加密貨幣以太