Windows系統下編譯智慧合約常見的初級錯誤
阿新 • • 發佈:2019-02-16
相信很多朋友在初學以太坊時會從智慧合約的程式設計開始學起,下面給出了幾個在windows系統下編寫合約的幾個常見問題的解決方法,希望對大家有所幫助(以下問題的測試編譯軟體為Atom)。
Error1,ParserError: Expected pragma, import directive or contract/interface/library definition.
解決方法:沒見過這種情況?別緊張,一般來說這只是你的一個粗心的小錯誤。你可以看下是不是pragma的合約版本宣告那一行末尾少了“;”
Error2,Warning:No visibility specified. Defaulting to "Public"
解決方法:這句話的大意是你未定義合約裡的屬性或方法的許可權,導致“違約公開”。你可以嘗試下在函式後面及returns前面新增“public”關鍵詞。(備註:合約屬性的許可權預設為“internal”,合約方法的許可權預設為“public”)
Error3, Warning: Function state mutability can be restricted to pure
function Hello() public returns (string) {
解決方法:這只是一個警告,一般可以直接跳過進行編譯,不過對於安全效能要求高的專案,該類警告需要注意。
參考文獻 :