Internet Computer Canister Development Kit
This crate provide attribute macros, with which you can annotate regular rust functions to be public interfaces of a canister.