运行 来自 Ethereum solidity 合约的 C++ 脚本
Run C++ script from Ethereum solidity contract
我刚刚说了使用以太坊和新的东西,所以我的问题可能听起来不太聪明,但是有没有什么方法可以从以太坊合约调用 C++ 代码?
例如,我可以从 PHP 调用 C++,例如 that
exec("/path/to/your/binary $var1 $var2", $output);
有没有类似的机制?
您使用 Solidity 编写的智能合约被编译为 EVM(以太坊虚拟机)的机器语言代码。该字节码被注入到区块链中,您可以通过交易/调用与它进行交互。
EVM 内部发生的一切都无法访问 EVM 外部发生的一切。
您不能将另一种语言代码推送到区块链中并期望它能正常工作。如果你想实现这一点,你必须编写软件代码,在 C++ 代码和区块链上的智能合约之间架起桥梁。但请记住,只要您不能向区块链的其余部分证明您的 C++ 程序实现的公平竞争,您智能合约中的信息将一文不值。 EVM 的有趣之处在于,每个动作都发生在区块链上,每个人都可以看到发生了什么。
但这完全取决于您要实现或构建的目标!
我刚刚说了使用以太坊和新的东西,所以我的问题可能听起来不太聪明,但是有没有什么方法可以从以太坊合约调用 C++ 代码?
例如,我可以从 PHP 调用 C++,例如 that
exec("/path/to/your/binary $var1 $var2", $output);
有没有类似的机制?
您使用 Solidity 编写的智能合约被编译为 EVM(以太坊虚拟机)的机器语言代码。该字节码被注入到区块链中,您可以通过交易/调用与它进行交互。 EVM 内部发生的一切都无法访问 EVM 外部发生的一切。
您不能将另一种语言代码推送到区块链中并期望它能正常工作。如果你想实现这一点,你必须编写软件代码,在 C++ 代码和区块链上的智能合约之间架起桥梁。但请记住,只要您不能向区块链的其余部分证明您的 C++ 程序实现的公平竞争,您智能合约中的信息将一文不值。 EVM 的有趣之处在于,每个动作都发生在区块链上,每个人都可以看到发生了什么。
但这完全取决于您要实现或构建的目标!