Transactions
礦工如何在私有網路中工作?它們的重要性是什麼?
我是區塊鏈技術的新手,正在使用乙太坊開發智能合約。幫我理解一下這個技術中礦工的概念。
我已經按照https://souptacular.gitbooks.io/ethereum-tutorials-and-tips-by-hudson/content/private-chain.html上給出的步驟完成了私有網路的設置。我創建了一些基本的智能合約並將它們部署在網路中。現在我無法將比特幣網路和我的私人網路中使用的礦工概念聯繫起來。
關於在網路中創建交易,我還有一個困惑。它說,無論我們在契約上做什麼,它都被視為交易,但如果是在這個 url http://solidity.readthedocs.io/en/develop/introduction-to-smart-contracts.html上給出的 SimpleStorage ,get( ) 呼叫不被視為事務。請幫助我了解何時創建交易以及何時不創建交易。
**Q1:**礦工對交易驗證至關重要。在私有鏈的上下文中,您至少需要一個礦工,否則交易將永遠不會被“網路”驗證。這可能會有所幫助,或者其他人可能會加入對協議的良好介紹。通過 geth CLI 部署 Greeter 合約未在我的私有區塊鏈中註冊
Q2合約邏輯可以通過兩種方式處理。
1)通過向網路送出交易,在這種情況下,所有節點將在礦工將交易包含在塊中後驗證交易。在這種情況下,初始返回值將是一個交易雜湊,在評估結果之前需要等待交易被探勘
2)在使用者自己的資源上本地執行,這種情況下更快更便宜,但不能改變鏈狀態。返回的結果是合約函式的響應。適用於只讀操作和“試執行”測試。第二種方法可以用關鍵字“constant”硬編碼到合約中,或者web3請求後綴
.call()
希望能幫助到你。