solana/sdk/program
behzad nouri 5ee157f43d separates durable nonce and blockhash domains
AdvanceNonceAccount instruction updates nonce to blockhash. This makes it
possible that a durable transaction is executed twice both as a normal
transaction and a nonce transaction if it uses blockhash (as opposed to nonce)
for its recent_blockhash field.

The commit prevents this double execution by separating nonce and blockhash
domains; when advancing nonce account, blockhash is hashed with a fixed string.
As a result a blockhash cannot be a valid nonce value; and if transaction was
once executed as a normal transaction it cannot be re-executed as a durable
transaction again and vice-versa.
2022-06-04 12:39:31 +00:00
..
src separates durable nonce and blockhash domains 2022-06-04 12:39:31 +00:00
tests fix: renamed the internal wasm_bindgen init function to avoid collision 2022-03-10 11:33:24 -08:00
.gitignore
Cargo.toml Consolidate syscalls under solana_program::syscalls, implement static syscalls (sbfv2) (#24188) 2022-05-26 23:01:55 +10:00
README.md
build.rs
package.json fix: renamed the internal wasm_bindgen init function to avoid collision 2022-03-10 11:33:24 -08:00

README.md

Solana

Solana Program

Use the Solana Program Crate to write on-chain programs in Rust. If writing client-side applications, use the Solana SDK Crate instead.

More information about Solana is available in the Solana documentation.

Helloworld and the Solana Program Library provide examples of how to use this crate.

Still have questions? Ask us on Discord