Ⅰ 在以太坊編輯器remix中調試合約使用的是remix的那項功能
Remix是一個IDE (integrated development environment 集成開發環境),用於智能合約開發,使用的語言是solidity,是一個基於瀏覽器的IDE。也是以太坊官方的IDE。
Ⅱ 以太坊合約中一個合約是否可以調用另外一個合約
可以的,參考合約之間的交互。數字貨幣交易平台幣匯。比如我正試圖從另一個工廠合約中簽智能合約,然後重新部署新智能合約的地址。然而,它返回的地址是交易哈希值而不是合約地址。我相信這是因為當地址被返回時合約尚未開采。當我使用Web3部署智能合約時,它似乎一直等到智能合約被部署完成後才輸出合約地址。
Ⅲ 以太坊和以太經典的區別
關於區塊鏈的可變性。
ETH,假如大部分人同意修改鏈條也就是可變性,那麼就可以修改區塊鏈記錄和合約。
ETC,區塊鏈記錄和合約不可修改,也就是不可篡改性。
下面是關於兩種方法的利弊。
可變性的好處是人們可以適時地改變以做出正確的決定,因此,修改規范比找漏洞更實用。
不可修改性是人們不管當時有多聰明,但也不可能會不出錯,因此,應對此方案出現問題的時候,最好是通過現有的法律框架來尋找和解決漏洞。
關於發展的不同
ETH,不管是有意安排或者從誕生就如此,區塊鏈核心決策都是在社區的參與下由以太坊基金會制定並大部分由它開發。
ETC,區塊鏈的決策主要是通過三個鬆散的,有協作關系的團隊在社區參與下得到反饋而決定的。
在任何情況下,任何人都可以為兩種區塊鏈提出改進建議,這正是開源之好處,也是很常見的,你會發現,這兩條鏈的開發人員通過Github和Reddit來相互溝通,我希望為了實現共同目標,提高溝通和交流的頻率。
關於兼容性
目前,這兩種區塊鏈都相互兼容,ETH寫的合約,或應用程序,可以在ETC上應用,反之亦然。
ETH,專注於eWASM,致力於為越來越多的開發者提供平台,而對於合約安全性的問題是次要的,例如:Viper。
ETC,專注於讓開發者創造出更安全的合約,例如:Viper,IOHK研究,代價是消耗潛在的開發者人數。
很明顯,這兩條鏈都可以互相接納,不管它們的意願是否相同,我的看法是,開發人員的數量並不一定與產品的質量掛鉤。
關於交易速度
ETH,平均25秒,升級之後會縮短。
ETC,平均14秒,升級之後維持在10-14秒,根據ECIP-1010 和 ECIP-1036協議。
關於區塊容量
ETH,隨著ETH日交易量逐漸達到5百萬,區塊容量日漸飽和,這種情況跟最近比特幣的交易費用問題類似,這個問題可以通過對區塊擴容得到解決,通過增加默認的燃料限制。
ETC,目前區塊容量還有很大空間,隨著越來越多的人接受ETC,區塊容量也會隨著增加,跟ETH一樣。
關於社區
ETH,主要在Reddit上討論
ETC,主要在Slack上討論
關於貨幣政策
ETH,計劃供應穩步增長,導致ETH區塊鏈在生命周期里平均有3%的通貨膨脹。
ETC,2025年之前,通貨膨脹達到3%,屆時總供應量將達到2億ETC,之後會通貨緊縮。
關於交易量的地區分布
ETH,中國佔20%,南韓25%,美國25%。
ETC,中國佔50%,南韓25%,美國10%。
關於證券
ETH,目前投資者沒有交易證券的選擇權,最近ETH的一個ETF,交易型開放式指數基金,產品被監管層否定了。
ETC,擁有ETC交易信託基金,該基金允許投資者擁有ETC,而不用擁有這個資產本身。
Ⅳ solidity 智能合約(3):使用truffle編譯部署及測試合約
先找源碼敲一遍,跑起來,後面慢慢講怎麼用solidity編寫以太坊智能合約。
這個文件編寫在 contracts 目錄下
這個文件在 migrations 目錄下
這個文件可以創建一個 test 目錄,然後放進去,我這里直接放在了根目錄,不太規范。
要編譯Truffle項目里的合約,請切換到項目工程所在根目錄,然後在終端中鍵入以下內容:
首次運行時,將編譯所有合約。 在後續運行中,Truffle將僅編譯自上次編譯以來有更改的合約。如果我們想覆蓋此行為,可以使用 --all 選項運行上面的命令。
編譯的目標文件 Artifacts 將放在 build/contracts/ 目錄中,相對於項目根目錄(如果該目錄不存在,將創建該目錄。)
這些 Artifacts 是Truffle內部工作的組成部分,它們在成功部署應用程序中起著重要作用。 不要去編輯這些文件,因為這些文件將被合約編譯和部署覆蓋。
編譯成功後
遷移腳本(JavaScript文件)可幫助我們將合約部署到以太坊網路。 這些文件負責暫存我們的部署任務,並且假設我們的部署需求會隨著時間的推移而發生變化。 隨著項目的發展,我們將創建新的遷移腳本,以進一步推動區塊鏈的發展。 先前運行的部署記錄通過特殊的 Migrations 遷移合約記錄在鏈上,詳細信息如下。
部署命令
要運行部署,請運行以下命令:
這將部署在項目的 migrations 目錄中的所有遷移文件。 最簡單的遷移只是一組管理部署腳本。 如果我們的遷移先前已成功運行,則 truffle migrate 將從上次運行的遷移開始執行,僅運行新創建的遷移。 如果不存在新的遷移, truffle migrate 將不會執行任何操作。 我們可以使用 --reset 選項從頭開始運行所有遷移。 對於本地測試,確保在執行 migrate 之前安裝並運行了 Ganache等 測試區塊鏈。
測試腳本中輸入數值 100 ,取出的數值為 64 (這個值是16進制格式,轉為十進制就是 100 ).