私は次のことを自動的に達成するためのスマートな契約をしようとしています。しかし、私は実装にこだわりました。 Txに署名するためにBを使わずに、(2)Txを実行するにはどうすればいいのですか?すなわち、それが自動的に実行されるようにしてください(1)が起動し、条件(2)が準備されています。Ethereum&Fabricのスマート契約の制限
擬似コード(1):
A send 50 to B (1)
if (B > 50) (2)
B send 10 to C (3)
上記のコードは、すなわち複数の所有者を含みます。 A、B、Cがある。まず、TはTx(1)を実行/署名することによって契約をアクティブにする。契約は条件(2)をチェックする。さて、Bにサインを強制することなく、自動的に(3)を走らせることができますか?
最終的に、契約はBの動作に署名(または代理署名)できますか?どのchaincodeで
編集
について、以下の何?それは自動的に実行することができますか?つまり、Dは(3)のDの秘密鍵を使用して署名しなければなりませんか?
擬似コード(二):最終的に
A send 50 to B (1)
if (something is true, say Z > 50) (2)
D send 10 to F (3)
ご返信ありがとうございます。私があなたを正しく理解していれば、預金口座で計算をしなければなりません。しかし、問題は今私がしたいことだけです Bは条件(B> 50)が真である場合、C量10を送信します。これは順番にAの結果に基づいています。B – wildcolor
ありがとう素晴らしい例。条件(B> 50)は、現在のBの合計残高を確認することを意味します。これは、BがAから50回の支払いを受け取った後にチェックされます。まず、Bの残高を確認できる契約ですか?第2に、B.balance> 50ならば、B.send(10)をCにします。あなたの例では、owedToBにすべてのデポジットを使用/割り当てました。次に、条件を確認しました。条件がtrueの場合、owedToCに10を割り当てます。この10はA、B、Cのどこから来たのですか?私の元の質問では、BさんがCに10(Bの一部)を送るようにします。 – wildcolor
あなたは正しいです。 owedToB - = 10がなければなりません。バランスを見ることは可能ですが、実際には最良の方法ではないかもしれません。たとえば、uint BBalance = B.balance;この問題は、預金と引き出しで上下に浮動する可能性があるため、ほとんどの契約は資金の流れに基づいているため、口座残高の確認に基づいて物事を引き起こすことはありません。むしろ、ある種の累積領収書。いずれの場合でも、この例のアイデアは、撤退パターンを示すことだけです。算術演算は状況に適応します。 –