RPC方式で契約を展開する方法は?
1 回答
- 投票
-
- 2019-02-14
これは、種類の発信の署名された操作を介して実行できます: http://tezos.gitlab.io/mainnet/api/p2p.html#origination-tag-9
スクリプトフィールドが存在することを除いて、KTアドレスの標準的な発信と同様です.これを取得するには、MichelsonをMichelineに変換する必要があります( Micheline here )次に、txを偽造する必要があります(これはeztzで行うか、forge/operation RPCエンドポイントを使用してリモートで行うことができます).
その後、偽造されたヘクスに署名して注入することができます.
eztzには、MichelsonをMichelineに変換できる基本的な機能がありますが、不完全であるため(注釈を解析したり、マクロを解決したりしない)、非常に基本的なスマートコントラクトでのみ実行可能です.ただし、eztzでは次のことができます.
eztz.rpc.originate(keys, 0, "parameter unit;storage unit;code{CDR;NIL operation;PAIR};", "Unit", false, false, false, 5000, 100000, 500).then(console.log);
You can do this via a signed operation of kind origination: http://tezos.gitlab.io/mainnet/api/p2p.html#origination-tag-9
Similar to a standard origination of a KT address, except there's the presence of the script field. To get this, you need to convert your Michelson to Micheline (details of the syntax/format for Micheline here) and then you need to forge your tx (you can do this with eztz, or remotely using the forge/operation RPC endpoint).
You can then sign and inject the forged hex.
eztz does have a basic function that can convert Michelson to Micheline, but it's incomplete (doesn't parse annotations or resolve the macros) so it's only viable for very basic smart contracts. But you could do the following in eztz:
eztz.rpc.originate(keys, 0, "parameter unit;storage unit;code{CDR;NIL operation;PAIR};", "Unit", false, false, false, 5000, 100000, 500).then(console.log);
-
ごめんなさい.私はjsを知りません......私はあなたが言うようにRPC経由で試してみます.ありがとう.別の質問:KTアドレスを教えてください.このアドレスの所有者を取得する方法はありますか?RPCまたはtzscanAPIを介したメソッドが見つかりませんでした.例えば.KTはマルチサインアドレスです.3人の所有者がいます.この3人の所有者を取得する方法は?sorry. I don't know js. ... .. I will try via RPC like u say. thanks. another question: give a KT address. is there any way to get owners of this address? I have't found any method via RPC or tzscan API. for example. KT is multsign address. have 3 owners. how to get this 3 owner?
- 0
- 2019-02-14
- purplecity
-
スマートコントラクトベースのマルチシグウォレットの場合、所有者のキーはスマートコントラクトコード内に保存されます.If it's a smart-contract based multi-sig wallet, than the owners keys would be stored within the smart contract code.
- 0
- 2019-02-14
- Stephen Andrews
-
/chain/main/blocks/head/context/Contracts/
/storageを介してコントラクトストレージにアクセスできます You can access contract storage via /chains/main/blocks/head/context/contracts//storage - 1
- 2019-02-14
- Stephen Andrews
-
ありがとう.これで手に入れた.----/chains/main/blocks/head/context/contracts/KT1JZH514bbBzyna3Dqmg6it5WzUEQoK6LPy/storagethanks . I got it BY this. ---- /chains/main/blocks/head/context/contracts/KT1JZH514bbBzyna3Dqmg6it5WzUEQoK6LPy/storage
- 0
- 2019-02-14
- purplecity
最初に、RPCメソッドを使用してコントラクトをデプロイする方法はありますか?
もしあれば、ステップバイステップの例を教えていただけますか?
公式のRPCドキュメントに詳細な例がなく(説明を表示するだけで、いくつかのメソッドに引数がない...)、CLIインターフェイスを使用していないため、混乱する問題がたくさんあるのはなぜですか.など..トランザクションを構築したいのですが、RPCメソッドでこれを行う方法がわかりません.最終的にこの記事を見つけて、それを取得しました----- https://medium.com/@bakenrolls/sending-multiple-transactions-in-one-batch-using-tezos-rpc-6cab3a21f254