nesdie
This is just meant as an experimental no_std SDK which will follow similar patterns of near-sdk-rs but optimize for minimal code size and operations. This will be a worse devX than the near sdk, but can be used as an alternative to writing bare metal contracts without an SDK.
Features
wee_alloc(default): Configures the global allocator by default withwee_allocpanic-message: Configurespanic_handlerto include error details, which will show up on chain. Disabled by default to optimize code sizeoom-handler: Configuresalloc_error_handlerto minimize error handling in this case. This feature does not currently work with astabletoolchain
Goals for nesdie:
- Strict
no_stdforwasmbinaries - Little to no code bloat
- No use of
core::fmt - No
serdeand gate serialization protocols by feature to allow disabling
- No use of
- Minimize gas costs through less instructions
- Similar amount of boilerplate/structure as
near-sdk-rs - Better error handling in codegen to avoid having to panic or
unwraperrors - Don't include local paths in built binary (from panics and asserts)