The blockchain client SDK is targeted to embedded devices and allows you to easily interact with the IoTeX blockchain in order to fetch blockchain data, send transactions or perform contract execution actions.
The communication with the blockchain is done over HTTP, using the HTTP to JSON-RPC bridge at gateway.iotexlab.io.
- Unix machines with curl support
- ESP32 based boards using Arduino framework
- ESP8266 based boards using Arduino framework
- Nano33 IoT using Arduino framework
- Arduino MKR WiFi 1010 using Arduino framework (not tested)
Effort has been taken in trying to decouple non-platform dependant code as much as possible. However, a specific implementation of the following modules is needed when porting the library to a non supported device:
- Http: the HTTP interface needs implemented. See
src/http/platform_name/http.cppfor implemented platforms.
- Storage: The storage class needs implemented. It contains only two methods:
savePrivateKey()saves the private key, and
readPrivateKey()reads the private key. See
src/storage/platform_name/storage.cppfor implemented platforms.
- Random: The random class needs implemented for true random number generation. It contains a single method
fillRandom(), that fills a buffer with random bytes. See
src/random/platform_name/random.cppfor implemented platforms.
Below are the main modules comprising the SDK: