Crates.io | casper-contract |
lib.rs | casper-contract |
version | 4.0.0 |
source | src |
created_at | 2020-11-11 16:20:08.702416 |
updated_at | 2023-11-21 02:42:18.584446 |
description | A library for developing Casper network smart contracts. |
homepage | https://casperlabs.io |
repository | https://github.com/CasperLabs/casper-node/tree/master/smart_contracts/contract |
max_upload_size | |
id | 311292 |
size | 102,705 |
casper-contract
A library for developing Casper network smart contracts.
The crate is no_std
, but uses the core
and alloc
crates. It is recommended to build Wasm smart contracts in a
no_std
environment as this generally yields smaller, and hence cheaper, binaries.
no-std-helpers
Enabled by default.
Given that the library is intended to be consumed by smart-contract binaries, and that in a no_std
environment these
will all require to provide an alloc error handler and an
eh_personality,
then this crate provides these when no-std-helpers
is enabled. This unfortunately requires the use of nightly Rust.
For further convenience, enabling this feature also provides a global allocator suitable for use in a no_std
environment.
If you wish to use a different global allocator, or provide different panic/out-of-memory handlers, then add the following to your Cargo.toml:
casper-contract = { version = "1", default-features = false }
test-support
Disabled by default.
To help support smart contract debugging, enabling the test-support
feature makes the function
contract_api::runtime::print(text: &str)
available. If the contract is being tested offchain using the
casper-engine-test-support
crate, then the contract can output text to the console for debugging.
casper-contract = { version = "1", features = ["test-support"] }
Licensed under the Apache License Version 2.0.