¿Cómo implementar un contrato con el método RPC?
1 respuesta
- votos
-
- 2019-02-14
Puede hacerestomediante una operaciónfirmada detipo original: http://tezos.gitlab.io/mainnet/api/p2p.html#origination-tag-9
Similar al origenestándar de una dirección KT,excepto queexiste lapresencia del campo de script. Para obteneresto,debe convertir su Michelson a Micheline (detalles de la sintaxis/formatopara Micheline aquí ) y luegonecesitasforjartutx (puedes haceresto coneztz,o deforma remota usandoelpuntofinal de RPCforge/operation).
A continuación,puedefirmare inyectarel hexadecimalfalsificado.
eztztiene unafunciónbásica quepuede convertir Michelsonen Micheline,peroestáincompleta (no analiza las anotacionesni resuelve lasmacros)por lo que soloes viablepara contratosinteligentesmuybásicos. Peropuedes hacer lo siguienteen 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);
-
lo siento.No séjs.... Lointentaré através de RPC como dices.Gracias.otrapregunta: da una dirección KT.¿Hay algunaforma de conseguirpropietarios deesta dirección?No heencontradoningúnmétodo através de RPC otzscan API.porejemplo.KTes una direcciónmultiseñal.tiene 3 dueños.¿Cómo conseguireste 3propietario?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
-
Si setrata de unabilleteramulti-sigbasadaen un contratointeligente,las claves de lospropietarios se almacenarían dentro del código del 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
-
Puede acceder al almacenamientopor contrato através de/chains/main/blocks/head/context/limits/
/storage You can access contract storage via /chains/main/blocks/head/context/contracts//storage - 1
- 2019-02-14
- Stephen Andrews
-
Gracias .Lotengo POResto.----/cadenas/principal/bloques/cabeza/contexto/contratos/KT1JZH514bbBzyna3Dqmg6it5WzUEQoK6LPy/almacenamientothanks . I got it BY this. ---- /chains/main/blocks/head/context/contracts/KT1JZH514bbBzyna3Dqmg6it5WzUEQoK6LPy/storage
- 0
- 2019-02-14
- purplecity
alprincipio,¿hay algunaforma deimplementar un contrato conmétodos RPC?
Si lo hubiera hecho,¿podría darme unejemplopaso apaso?
por quétengotantosproblemas queme confundenporqueel documento oficial de RPCnotiene unejemplo detallado (solomuestra la descripción,algunosmétodosnotienen argumentos ...) yno uso lainterfaz CLI.como ... Quiero construir unatransacciónperono sé cómo haceresto conmétodos RPC,finalmenteencontréeste artículo y luego lo obtuve ----- https://medium.com/@bakenrolls/sending-multiple-transactions-in-un-lote-usando-tezos-rpc-6cab3a21f254