+++ title = "Blocks" description = "Block Documentation" weight = 10 +++ > Blocks commit proposed transactions into the ledger. > A transaction that do not appear on a valid block is not accepted by the network. Blocks in Gradecoin are proposed to commit [Transactions](@/transaction_docs.md) that were proposed previously to the system. `transaction_list` of the Block should be filled with valid transactions to be committed. Blocks are valid when they are proposed with a `nonce` that produces a `hash` value with 6 zeroes (24 bits) at the left hand side. We are _mining_ using [blake2s](https://www.blake2.net/) algorithm, which produces 256 bit hashes. Hash/second is roughly {{ exp(num="20x10", exponent="3") }} on my machine, a new block can be mined in around 4-6 minutes. {% tidbit() %} We have seen blocks that came in within a minute during the testnet phase! {% end %} # Requests ## GET A HTTP `GET` request to [/block](/block) endpoint will return the latest mined block. ## POST A HTTP `POST` request with Authorization using [JWT](@/JWT.md) will allow you to propose your own blocks. # Fields ``` transaction_list: [array of Transaction IDs] nonce: unsigned 32-bit integer timestamp: ISO 8601 Timestamp (T