7

Taquito can parse forged bytes using the parse() method in the @taquito/local-forging package. TypeDocs are here. You can see the unit tests here. Implementation to decode a signed transaction: const { localForger } = require('@taquito/local-forging'); const sbytes = '...


7

You can use the tezos-codec binary to decode this: tezos-codec decode 006-PsCARTHA.operation from ...


6

Make sure you revealed public key just once and make sure you properly incement counter. Also, take a look at Netezos, C# Tezos SDK. Here is an example of how to forge, sign and send a transaction: var key = Key.FromBase58("edskS9DjUKo8ogBBU8LeU..."); var rpc = new TezosRpc("https://rpc.tzkt.io/carthagenet/"); var head = await rpc.Blocks.Head.Hash....


5

Why can I convert between address and contract. But not between address and key_hash? There is the (IMPLICIT_ACCOUNT) instruction to go from key_hash to address. For the other direction, there was (a feature request) but it was closed because no use case has been presented to motivate it.


5

key_hash is blake2b hash of a public key, in the base58 encoded form it can start only with tz, but address is more general, it can also hold KT accounts; There are no instructions for that, probably because it's a rare and arguable case; EDIT: as pointed out by Raphaël, you can convert key_hash to contract and then to address using IMPLICIT_ACCOUNT ; ...


4

You can not derive Ed25519 keys in a way that is compatible with bip32 or bip44. Bip32 only defines a derivation scheme for secp256k1, and bip44 depends on bip32. To get around this problem there's a SLIP-10 specification that adapt bip32 in a way that makes it possible to derive keys for other signature schemes than secp256k1. The most important takeaways ...


3

https://github.com/bitcoin-core/secp256k1/blob/d644dda5c9dbdecee52d1aa259235510fdc2d4ee/include/secp256k1.h#L483-L513 There are two valid EC points that correspond to the same signature, but some blockchains restrict the usage to one of those two EC points to avoid malleability (= it is easy to convert the signature to the other signature value, and thus ...


2

You can use the RPC endpoint: /chains/main/blocks/head/helpers/parse/operations to do that. Example: await axios.post( `${nodeURL}/chains/main/blocks/head/helpers/parse/operations`, parseOperationBytesData, { headers: { 'Content-Type': 'application/json' } } ...


1

No, there is no way to bypass the requirement to ack a transaction. You would have to write your own ledger-tezos app to support this. It can be done, as the baking app signs blocks without interaction using the same key. You would have to code a new instruction to sign without user button. https://github.com/LedgerHQ/app-tezos/blob/master/APDUs.md


1

For implicit accounts, the address is nothing more than the hash of the public key so this means that you can compute the address from the public key but not the other way around. In Michelson, you have: HASH_KEY : key -> key_hash IMPLICIT_ACCOUNT : key_hash -> contract unit ADDRESS : contract _ -> address I don't understand how I would apply this ...


1

I put together a series of tutorials on how to use the Tezos RPC, using postman to give people working examples. It covers some of the aspects like this that aren't documented too well. The link is below. I believe your issue might be, as well as padding the forged hash with zeros at the end. You also need to remove the first 64 characters (which is the ...


Only top voted, non community-wiki answers of a minimum length are eligible