Solidity

沒有 ETH 交易的智能合約

  • November 13, 2018

也許我錯了,但我理解智能合約交易必須始終包含一個“VALUE”欄位,也就是說,如果某些條件完成,乙太愛麗絲的數量將轉移給鮑勃。

考慮到這一點,¿是否意味著乙太坊智能合約不能用於設置不涉及乙太幣的條款?例如:

a) 如果愛麗絲將房子的產權轉讓給鮑勃,那麼鮑勃作為交換向她轉讓另一個產權產權;

或者例如: b) IF 1 月份的溫度值低於 X,THEN 保險減少下個月的保險費;

c) 如果消費者 A 買了東西但它壞了,那麼從賣家那裡得到(非貨幣)補償。

如果可能,節點將根據使用的 Gas 獲得補償,即使雙方之間沒有乙太交易。不是嗎?

提前致謝。

你誤會了。

交易包含datavalue在協議級別。data用於智能合約的可能解釋。value可能包含非零值,並且協議本身強制執行規則,例如不花費發送者沒有的 ETH。

交易可以嚴格地data與合約儲存中可能的狀態變化有關。在所有情況下,執行成本(計算權重)都以 ETH 為單位表示,gasgas用 ETH 支付。

這是一個不關心價值轉移的簡單合約。呼叫 gas 需要花費少量的 ETH set()

pragma solidity 0.4.25; 

contract Simple {

   uint public number;

   function set(uint _number) public {
       number = _number;
   }
}

希望能幫助到你。

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