Change crate_id to base58
Add more unit tests, then fix the issues
Add an example to encode