A IOT microcontroller blockchain micropython library for EOS, ETH, BITCOIN. Esp32 controllers, St32 and others . For RTOS operating systems . ESP32, ESP8266, ST32 micro controllers .
- Require at least 1 MB SRAM or PSRAM
-
Call to nodes to send request and receive data , get info get balance , get tx, get accounts ....
-
Generate ECC keys
-
ECDSA signature
-
Push transactoin (Pending)
Copy file modules to your MicroPython ports
cd micropython/ports/esp32
make USER_C_MODULES=/YOURPATH/ports/esp32/boards/GENERIC/ucrypto/micropython.cmake BOARD=CHANGE_YOUR_BOARD
cd build-YOURBOARD
esptool.py --chip esp32 -p /dev/ttyACM0 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 bootloader/bootloader.bin 0x10000 micropython.bin 0x8000 partition_table/partition-table.bin
- Install mpremote to connect by serial to your device
>>> import block
>>> block.genkeys()
(100993021156667751991690912130958668616676362468173674328997328032060127345282, 62203629151545849038293504441196077946057605346371203245067596528369427053776, 68608029864182071235580165887815523170041665266793571008314538354569768684678, 'P256')
mpremote cp block.py requests.py :
mp remote
>>> import block
block.get_info()
HTTP/1.1 200 OK
access-control-allow-origin: *
content-length: 839
content-type: application/json
server: WebSocket++/0.7.0
connection: close
{"server_version":"26a4d285","chain_id":"8b6404a00556c4a1ed0257869dbd41c9ba23349590f39eb90fec0eb9382469dd","head_block_num":2016452,"last_irreversible_block_num":2016451,"last_irreversible_block_id":"001ec4c37801042fdfa0e9cb9273a581b2d166348eb33e3413c5aa7bbef27f64","head_block_id":"001ec4c41773e88922737d74b2438ca542d4bb78aa89a19092dac619589e1472","head_block_time":"2022-12-31T16:42:35.000","head_block_producer":"eosio","virtual_block_cpu_limit":100000000,"virtual_block_net_limit":1048576000,"block_cpu_limit":99900,"block_net_limit":1048576,"server_version_string":"v2.1.0","fork_db_head_block_num":2016452,"fork_db_head_block_id":"001ec4c41773e88922737d74b2438ca542d4bb78aa89a19092dac619589e1472","server_full_version_string":"v2.1.0-26a4d285d0be1052d962149e431eb81500782991","last_irreversible_block_time":"2022-12-31T16:42:34.500"}
>>> block.sign("this is a test",100993021156667751991690912130958668616676362468173674328997328032060127345282,)
(107541375824991968821595279068801704738865834089565096653364975660063223096427, 87231512473538947533684998172244028284436404688771902937498298656736416974198)
cooming soon
>>> block.push(from, to, amount, token, meta, private_key)
executed transaction: f1cdf230e847a8fe582ec615364b7fdbe52f5b462efaad052c107bad90f14d3b 152 bytes 1411 us
# eosio.token <= eosio.token::transfer {"from":"eosio","to":"black","quantity":"12.5000 BLACK","memo":"This is the money I owe you"}
# eosio <= eosio.token::transfer {"from":"eosio","to":"black","quantity":"12.5000 BLACK","memo":"This is the money I owe you"}
# black <= eosio.token::transfer {"from":"eosio","to":"black","quantity":"12.5000 BLACK","memo":"This is the money I owe you"}
Please feel free to add issues .
Push transaction BTC
Push Transacion ETH
Network peers
BTC, ETHEREUM explorer requests
Console interface
Feel free to pull request your forks !!
Hecathomb
Citrix
- ucrypto library https://github.com/dmazzella/ucrypto
This is a MIT Free library .