2017-08-04 11 views
0

Ethereumで作業していて、新しいことが書かれているので、私の質問はそれほどスマートではないかもしれませんが、Ethereum契約からC++コードを呼び出す方法はありますか?私はthatEthereumからC++スクリプトを実行する

exec("/path/to/your/binary $var1 $var2", $output); 

のようにPHPからC++を呼び出すことができます。例えば

は、同様のメカニズムがありますか?

+0

C++コードを直接実行することはできません。前もってコンパイルする必要があります。 – user0042

+0

@ user0042はい、わかりました。あなたはそれをする方法を知っていますか?コードはどのように見えるのですか?まったく可能ですか? – Maria

+0

私はEuthereumを認識していませんが、(分散した)Euthereum仮想マシン上で実行する必要はありませんか? C++は、同じターゲットバイトコードにコンパイルする必要がありますか? – Cameron

答えて

1

Solidityでコーディングしたスマートコントラクトは、EVM、Ethereum仮想マシンのマシン言語コードでコンパイルされます。このバイトコードはブロックチェーン内に注入され、トランザクション/コールを介して相互作用することができます。 EVM内で起こっていることは、EVMの外で起こっていることにはアクセスできません。

ブロックチェーン内で別の言語コードをプッシュして動作させることはできません。これを実現するには、C++コードとBlockchain上のスマートコントラクトの間にブリッジを作るソフトウェアをコーディングする必要があります。しかし、あなたのC++プログラムが達成したことのフェアプレーをBlockchainの残りの部分に証明できない限り、スマートコントラクトの情報は何の価値もないことを覚えておいてください。 EVMについて興味深いのは、すべてのアクションがブロックチェーン上で起こっており、誰もが何が起こっているかを見ることができるということです。

しかし、それはすべてあなたが達成しようとしているか、構築しようとしているかによって異なります。

+0

詳細な回答ありがとうございました!はい、私は本当にC++ライブラリを呼び出す必要があり、C++コードとスマートな契約の間にブリッジを構築する必要があります。私はいくつかの例へのリンクを私に与えることができれば非常に感謝します。しかし、とにかく高すぎる=) – Maria

+1

geth(go-ethereum)を使ってブロックチェーンに接続します。次に、gethに接続してノードと通信するC++ライブラリを検索し、C++コードからBlockchainと直接対話できるようにします。 –

+1

@lulian Rotaru Thanx!それをチェックします。良い一日を! – Maria

関連する問題