Solidity
如何讓智能合約將消息與交易一起發送給使用者?
智能合約顯然可以通過乙太坊網路發送交易,但它們也可以在交易中發送簡單的消息嗎?
通常,您會將消息放入“數據”欄位中的十六進制程式碼,但您如何讓智能合約做到這一點?
謝謝。
我假設您想發送一條消息以及一筆交易,該交易將發送到“普通”賬戶,而不是“智能合約”賬戶。甚至可能來自“普通”帳戶。
您可以做的是使用任何線上轉換器將您的簡訊轉換為十六進制,例如這個。
大多數錢包都有一個
data
交易欄位,然後您可以在其中粘貼十六進制。在契約中,您必須使用該call
方法,如此處所述。例如,像“3 o’clock at the tower”這樣的消息將轉換為“0x33206f27636c6f636b2061742074686520746f776572”,您可以在“data”欄位中發送該消息。
如果接收者沒有在他們的錢包中獲得這些數據,他們將不得不在像etherscan這樣的區塊鏈瀏覽器上查找交易,向下滾動並找到
Input Data
將顯示您的十六進製字元串的欄位。確保接收者知道如何將其轉換回來。他們可以使用像這樣的線上十六進製到文本轉換器。