19

Option 1 Kukai https://kukai.app/ Step 0 First make sure you have a secure offline environment for your wallet. You can either have a dedicated computer for it or a bootable Linux USB Flash Drive (with e.g. Tails) that never connects to internet. Always download the Kukai wallet from the official links on Github and verify the SHA256 checksum. It is ...


14

The first list contains the endorsements. The second list contains all the operations regarding votes and proposals. The third list contains anonymous operations. The last one contains the manager operations (reveal, transaction, delegation and origination). If you need to check only the transactions, you should check only the last one.


14

All transactions included in the Tezos must reference a block hash within the past 60 block hashes. This acts as an additional layer of notarization of the chain, besides the consensus but it means you need a few extra steps to sign transactions offline. One way to do this is to use the RPC: /chains/main/blocks/head/helpers/forge/operations Documented ...


11

Currently, there is a fixed constant that limits the total gas usage of a single block to: hard_gas_limit_per_block = 4000000 With the proto003 fee change, transactions (txs) have minimum gas costs of: gas_limit : 10100 This means that the maximum number of txs per block is limited to 4,000,000/10100, which is ~396. As blocks have at least a 60 second ...


10

No, a contract can only spend its own funds.


10

First off, utxos and accounts aren't that different. You can look at the pair (account, counter) as almost equivalent to a utxo. The main reason has to do with concurrent access to smart contracts. In most cases, two transactions to the same smart-contract will commute (or almost commute) and therefore the senders do not need to know what other transactions ...


8

The best solution is to apply the minimum payout rule. So, you will pay the delegator only when this value is reached. For example, let MinPayout = 0.01, then: Cycle Reward Debt Payout #n 0.004 0.004 --- #n+1 0.004 0.008 --- #n+2 0.004 0.012 0.012 That's it =)


8

https://kukai.app (not for mobile) You can use the kukai wallet to do multi-send operations. It was a feature-request from a baker and now multiple bakers are using it.


8

Failed transactions should be detected and get an error code returned in the preapply (RPC). So that this transaction even have been injected indicate a bug or bad error handling in a wallet. It is very easy to see why this transaction failed. It tried to send the full balance and wont have enough funds to cover the burn. You can use the rpc to get the ...


8

There are multiple references online which provide material to understand the steps involved in this. You can check this or that. Some elements are also provided in this other question Basically the steps are get dependencies branch hash: /chains/main/blocks/head/hash counter: /chains/main/blocks/head/context/contracts/<source_pkh>/counter protocol ...


8

Both the transactions that you are referencing are the fist transaction to a new address. As you can see on the operations cost table for Protocol 004, 0.257 tz is burned "if the recipient is a new address". See the second part of this answer to get details on the reason of this cost and this one for the explanation of the 0.257 tz value.


7

After inspecting TzScan's alphanet frontend, i've been able to extract the following curl request: curl 'https://api.alphanet.tzscan.io/v1/operation/ooZXgbKsbHDwMof1mfRxgWXDsjGVZ4FMbwoJdVDyB3nzEAJVsBh' -H 'Pragma: no-cache' -H 'Origin: https://alphanet.tzscan.io' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: en-GB,en-US;q=0.9,en;q=0.8' -H '...


7

In the current protocol there's a time to live of 60 blocks for every manager operation, after which they can no longer be included.


7

In Tezos Alpha the Transaction List size is limited: Tezos does not download blocks all at once, but rather considers headers and various lists of operations separately. In Tezos.alpha, a maximum size in bytes is applied to the list of transactions MAX_TRANSACTION_LIST_SIZE = 500kB (that’s 5MB every 10 minutes at most). Other lists of operations (...


7

In Tezos, the fee is independant from the gas : whatever the gas consumed, you always pay the full fee. However, bakers will probably compute the ratio fee/gas, and prefer transactions with higher fee/gas, i.e. more reward for less computation.


6

I figured out that you can use the --dry-run option in the transfer statement so that node will send transaction to remote-signer to sign, and you can check the remote-signer logs to see if everything is working fine or not. --dry-run will not actually send the transaction to the network.


6

Tezos current protocol (003) achieves probabilistic finality after a recommended time of 30 confirmations which reduces the chances of the transaction being impacted by a reorg. There are conversations about the possibility to evolve the consensus in the future to achieve absolute finality in 1 block time with a BFT type of mechanism such as tendermint ...


6

Conseil is software that provides this functionality. Alongside ConseilJS you can easily use this with your applications. Here is a full article regarding Conseil. And you can view the GitHub repo here.


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

Here is a good reference article by one baker on the topic Sending multiple transactions in one batch using tezos rpc


5

It is better (although more complex) to use fitness/endorsements. 900 fitness/endorsements is roughly 30 "normal" blocks (i.e. blocks with close to full endorsements), which is a simpler rule of thumb for users to remember and check. The difference would be if the past 30 blocks have very low endorsements/fitness - this would make a chain-split in the past ...


5

Difference between reveal and transaction: When a wallet sends a transaction, it must sign the transaction with the user's private key. However, there is no way for other users to check the signature, if they don't have the corresponding public key. That's why the wallet must issue a Reveal operation first, to reveal the public key of the user.


5

Any transaction will do, even an amount of 0. Note that you may need to include a small transaction fee to ensure the transaction is relayed by your peers and included inside a block.


5

The error occurred because I needed to have some balance left to complete the transaction. It works fine after that.


5

The problem is that /parse/operations expects signed operations. You can just add 64 zero bytes to the end: { "operations": [ { "data": "...


5

Create a 32 byte generic hash of the raw tx Base58 encode it with the 'o' prefix It would look something like this: var rawHash = libsodium.crypto_generichash(32, rawTx); var prefix = new Uint8Array([5, 116]); // 'o' var merged = new Uint8Array(prefix.length + rawHash.length); merged = merged.set(prefix); merged = merged.set(rawHash, prefix.length); var ...


5

Operations of the following types can affect account balance: transaction revelation origination delegation endorsement seed_nonce_revelation double_endorsement_evidence double_baking_evidence activate_account However, there are three additional things which affect account balance as well: When you bake a block. When you miss seed_nonce_revelation. When ...


5

In the FA2.0 standard the sender and receiver is send as Bytes (vs. send as string for FA1.2). Both token standards say that sender and receiver are Michelson addresses. Michelson addresses have two allowed representations, as strings (readable representation) and as bytes (optimized representation). What is the extra byte used for? The extra byte is used ...


4

I just prefer to do this...it's a direct request to sign data without any possibility of forgetting to add the --dry-run flag. tezos-client sign bytes 0x03 for <tz alias or tz address> Here 0x03 is just any old random number. You could put any hex value here. If the remote signer is working you'll get back a message like: Signature: ...


4

The full fee is always paid for every transactions - the gas limit is just that, a cap on the amount of gas a given transaction can consume. A baker can be guaranteed that they are paid at least fee/gas_limit per unit of gas consumed, even if they consume less. Some bakers will also enforce a minimum per_gas fee, which is currently set to 0.1 mutez (or 1 ...


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