Como implantar um contrato com o método RPC?
1 responda
- votos
-
- 2019-02-14
Vocêpodefazerisso através de uma operação assinada de originaçãogentil: http://tezos.gitlab.io/mainnet/api/p2p.html#origination-tag-9
semelhante a uma originaçãopadrão de umendereço KT,exceto que há apresença do campo de script. Para conseguirisso,vocêprecisa converter seu Michelsonpara Micheline (detalhes da sintaxe/formatopara Micheline aqui )e,em seguida,vocêprecisaforjar o seu TX (vocêpodefazerisso com EZTZ,ou remotamente usando oendpoint Forge/Operation RPC).
Vocêpodeentão assinare injetar o hexforjado.
EZTZtem umafunçãobásica quepode converter Michelsonpara Micheline,mas éincompleta (não analisa anotações ou resolver asmacros)porisso é só viávelpara contratosinteligentesmuitobásicos. Mas vocêpoderiafazer o seguinteem 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);
-
Desculpe.Eunão sei JS..... Voutentar via rpc como vc dizer.obrigado.Outra questão: dê umendereço KT.Existe algumamaneira de obterproprietários desteendereço?Eunãoencontreinenhummétodo via RPC ou TZSCAN API.porexemplo.KT é oendereço do Multiário.tem 3proprietários.Como obtereste 3proprietário?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
-
Se é uma carteiramulti-sigbaseadaem contratointeligente,asteclas dosproprietários seriam armazenadas dentro do código de contratointeligente.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
-
Vocêpode acessar armazenamento de contrato via/correntes/main/blocos/cabeça/contexto/contratos/
/armazenamento You can access contract storage via /chains/main/blocks/head/context/contracts//storage - 1
- 2019-02-14
- Stephen Andrews
-
obrigado .Eu conseguiporisso.----/Correntes/Main/Blocos/Cabeça/Contexto/Contratos/KT1JZH514BBbzyna3Dqmg6it5Wzuek6Lpy/Armazenamentothanks . I got it BY this. ---- /chains/main/blocks/head/context/contracts/KT1JZH514bbBzyna3Dqmg6it5WzUEQoK6LPy/storage
- 0
- 2019-02-14
- purplecity
Noinício há algumamaneira deimplantar um contrato commétodos RPC?
Setiver,poderiame dar umpassopasso apasso?
Por quetenhotantosproblemasme confundindoporque o Documento oficial do RPCnãotem exemplo de detalhes (apenasmostre sua descrição,algunsmétodos sem args ...)e eunão uso ainterface CLI.como .. Eu quero construir umatransação,masnão sei comofazerisso commétodos RPC,finalmenteencontreieste artigoentãoeuentendi ----- https://medium.com/@bakakenrolls/Sending-multiple-Transaction-um lote-usando-tezos-rpc-6cab3a21f254