Limitations
Our SDK release provides developers with the chance to start building with Nillion. The current release allows developers to build with our Python, JavaScript and CLI clients, Nada language, and our command line tools. As we build the Nillion SDK and tools in public, we want to work with the community to make them even better.
Expectations
- Evolving UX, developer tools, and documentation
- Frequent, sometimes breaking changes, but we will do our best to communicate them ahead of time in Announcements
- Bugs - please report any you find in Bugs
- Missing features - suggest a feature request in Ideas
- Documentation gaps - if you notice something is missing, please let us know by creating a Github Issue
Here are some of the limitations or constraints you should be aware of when being an early builder with Nillion’s SDK.
Platforms
The Nillion SDK tool binaries can be installed with nilup
for the following platforms:
- Apple (M1/M2)
- Apple (Intel chip)
- Linux (ARM chip)
- Linux (Intel/AMD chip)
If you are on a Windows machine, follow our Windows guide to set up a WSL developer environment and install Linux binaries.
Nillion Clients
- We have released 3 clients to the community: a Python, JavaScript, and CLI Client. In general the clients have feature parity, however please refer to the Nillion Client docs to see the exact functionality provided by each.
- You can only compile programs from the CLI
pynadac
ornada
tools — compilation isn’t available in the Python or JavaScript clients. - If there is a particular feature you need and believe is missing in one of the clients, please report it in Bugs.
JavaScript Client
- Currently the JS client is only tested on Chromium browsers (Chrome, Brave & Edge) and production deployments will likely require activating COOP and COEP headers.
- The JS client is a browser client and does not yet work in NodeJs.
CLI Client
Running the nillion-devnet
command (SDK tool) will spin up a local devnet on your machine.
- The devnet that is spun up will be limited by the hardware it is running on. Keep an eye on the CPU usage when running large computations.
- Pre-processing elements are generated from scratch each time a local devnet is spun up. This means you may need to wait a little time (10-15 seconds) before the network is able to store and compute. For reference, currently 8192 alphas & 8192 lambdas are generated when you spin up a new local devnet.
- Anything you store (programs, secrets etc) in one instance of
nillion-devnet
will not be shared with another devnet you spin up, meaning you will have to restore any stored programs or secrets in the new devnet. - The devnet does not currently support transport targets other than localhost.