Python

如何通過 python 程式碼讀/寫乙太坊作為數據庫?

  • March 13, 2019

我是這個領域的初創公司。我看到一些關於乙太坊的文章可以將數據保存為合約。但它們對我來說太複雜了。如果我已經有一個帶有一些 ETH 的乙太坊賬戶。是否有一些 python 程式碼可以簡單地將一些數據寫入乙太坊並在需要時使用該帳戶將其讀回?該數據(或合約)無需與乙太坊上的其他賬戶或合約互動,例如問候功能,只需記錄數據。非常感謝任何回复

如果您使用 Python 語言,您可以 1) 從您的 Python 程式碼連接到乙太坊節點 2) 使用Web3.py 庫讀取和寫入(發送交易)到合約。

你可以做幾件事。但在描述可能的解決方案之前,請考慮到在乙太坊中保存數據是昂貴的。

照這樣說:

  1. 您可以編寫一個接收數據並保存數據的合約,使用密鑰 (ID) 來區分不同的數據集。例如:
contract storeData {    
   mapping(uint256 => bytes) public data;

   function saveData(bytes memory newData, uint256 dataID) public {
       data[dataID] = newData;
   }


   function readData(uint256 dataID) public view returns(bytes memory) {
       return data[dataID];
   }

}
  1. 另一種解決方案是發送普通交易並將您的數據放入欄位數據/輸入中。然後,您可以在本地保存事務的雜湊 (txHash),並在您想要使用的數據web3.gettransaction(txHash)(您可以為此使用 web3py)恢復事務和隨它發送的數據時。

希望這可以幫助

引用自:https://ethereum.stackexchange.com/questions/68284