我剛纔聲明和Ethereum一起工作,所以也許我的問題聽起來不那麼聰明,但是有沒有從Ethereum合同中調用C++代碼的方法?從以太坊合約合約中運行C++腳本
比如我可以調用C++從PHP像that
exec("/path/to/your/binary $var1 $var2", $output);
是否有類似的機制?
我剛纔聲明和Ethereum一起工作,所以也許我的問題聽起來不那麼聰明,但是有沒有從Ethereum合同中調用C++代碼的方法?從以太坊合約合約中運行C++腳本
比如我可以調用C++從PHP像that
exec("/path/to/your/binary $var1 $var2", $output);
是否有類似的機制?
您使用Solidity編碼的智能合約以EVM(以太坊虛擬機)的機器語言代碼進行編譯。這個字節碼被注入到區塊鏈中,並且您可以通過交易/通話與其交互。 EVM內部發生的一切無法訪問EVM之外發生的情況。
您不能在區塊鏈內推送另一種語言代碼並期望它可以正常工作。如果你想達到這個目標,你必須編寫軟件,這個軟件將在C++代碼和你在區塊鏈上的智能合約之間架起一座橋樑。但請記住,只要您無法向區塊鏈的其餘部分證明您的C++程序所取得的成果,您智能合約中的信息將毫無價值。關於EVM的有趣之處在於每一個行動都在Blockchain上進行,每個人都可以看到發生了什麼。
但這一切都取決於你想要實現或建立!
你不能直接運行C++代碼,它必須在編譯之前。 – user0042
@ user0042是的,我明白了。你知道該怎麼做嗎?我的意思是代碼的外觀如何?它有可能嗎? – Maria
我承認並不知道Euthereum,但是代碼不需要在(分佈式)Euthereum虛擬機上運行? C++必須被編譯爲相同的目標字節碼,不是嗎? – Cameron