Bloock library for Python
Project description
Bloock SDKs
BLOOCK guarantees data integrity and authenticity in a simple, scalable, and confidential manner on top of distributed ledger technologies. Through BLOOCK, enterprises can minimize the principal risks and difficulties faced when defining, developing and managing a blockchain project.
- Easy to use
- Highly scalable
- Privacy by default
- Technologically independent
- Network interoperability
- Predictable efficient cost
We want your feedback! Please feel free to open a GitHub issue for suggested improvements or feature requests. If you need support, contact support@bloock.com.
Getting started
- For a guide about how to set up one of our SDKs, visit Set up.
- Check our full documentation at docs.bloock.com.
Support
If you need help, you can join our Discord server where our engineering team will be happy to help you:
Language support
Language | Requirements | Source | Link | Support |
---|---|---|---|---|
Javascript | Node: >=12.20.0 NPM: >=6.4.1 |
Source JS |
Link JS |
✓ |
Go | 1.18+ | Source Go |
Link Go |
✓ |
Python | Python: >= 3.7 PIP |
Source Python |
Link Python |
✓ |
Java | Java: >= 8 Gradle or Maven |
Source Java |
Link Java |
✓ |
PHP | PHP: >= 7.4 ext-ffi |
Source PHP |
Link PHP |
✓ |
Rust | - | - | - | :soon: |
OS support
OS | Arch | Env type | Support |
---|---|---|---|
Linux | x86_64 | gnu | ✓ |
Linux | x86_64 | musl | ✓ |
Linux | arm64 | gnu | - |
Linux | arm64 | musl | - |
Windows | x86_32 | mingw | - |
Windows | x86_32 | msvc | - |
Windows | x86_64 | mingw | ✓ |
Windows | x86_64 | msvc | ✓ |
MacOS | x86_64 | - | ✓ |
MacOS | arm64 | - | ✓ |
Concept
BLOOCK offers direct integrations with multiple programming languages (see Language support. In order to mantain a unified user experience and equivalent functionalities, we implement all functionalities in Rust (stable) and bridge each one to every language-specific SDK trough FFI.
Architecture
To achieve interoperability between different programming languages, we use an architecture that has the following elements:
- Bloock Libs: Contain specific utilities used accross different features. Such as: hashing algorithms, digital signature algorithms, encrytption algorigthms, HTTP communication, ...
- Bloock Core: Contains all the bussiness logic for every feature.
- Bloock Bridge: Implements the GRPC-like endpoints and connects them with the features implemented in the Core.
- Language-specific libraries: Contains all the interfaces for the consumer and connects with the bridge using the different endpoints available.
Communication
The communication between different languages is done by using a language-specific interoperability layer and a generic transport layer.
Interoperability
Most languages have some type of ability to communicate with another language, this is called FFI (Foreign Function Interface) and usually is done by using C as a base language. One of the exceptions is Javascript because browsers don't support that functionality and it's only possible to do so by using WebAssembly.
To support this two cases, we chose Rust as a Core programming language because is able to compile to C and WebAssembly.
Finally, to give full support, we generate C builds for different OS and architectures. See OS support.
Transport
In order to minimize the effort dedicated to interact with the FFI layer which, specially in C, is time consuming we use Protocol Buffers and a modified GRPC protocol in such a way that we define in-memory endpoints that are called by the language-specific SDKs (client) and served by the Rust Bridge (server).
License
See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for bloock-2.5.6-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b8476ba9d80716b4d8eb9e725e176f5528f13e4faf9610435e3210b7917d36e |
|
MD5 | f5eb873bf440b4c131c23a40bef4488a |
|
BLAKE2b-256 | 551bb8023b769fbf337967744dcba0f150ffc7950ccf0fd6385bb762a82ffa54 |
Hashes for bloock-2.5.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d24d5c2f6a4f170ad165a7ee26c22dbd60416bb5a3aaf8763246123aeee32b5f |
|
MD5 | 954e21d8d0810ad132b875c526955d64 |
|
BLAKE2b-256 | cd8676aab5b3ced687cce6e066caa595e104191b931c9df2b01d1e8b080a7273 |
Hashes for bloock-2.5.6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9428b28ef549e63400540f29fe837768af59d05a87f5f5ccbcf1c0da4b75d3f |
|
MD5 | 75604db8bccd07a52f95600d7cead243 |
|
BLAKE2b-256 | db78dcebc6ee9b2031ba77ab3c43dd68a02d52a663ebae29e4101ab42756f137 |
Hashes for bloock-2.5.6-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a8e22c14a82ad8ed806e5495e4b3885c8f02e9b3850fe7a8f486b8660c96d53 |
|
MD5 | 910c0c59419176f701f832006da44e71 |
|
BLAKE2b-256 | 0853b924b21cf5b292297074608bb9aba9e3dc33f49ff425fadfa75b64917f07 |
Hashes for bloock-2.5.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95cd5bd09192706416d3dff471f1cac48739b3a8f244ab781672c9d3cec62e1a |
|
MD5 | ddfe8aa8ad293cd06364aa48ca83bed2 |
|
BLAKE2b-256 | 742b1b8e78ed68604f6ff0719c309f04747168943cc2c42f414efd486c95de70 |
Hashes for bloock-2.5.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d5d93c9ac828a386eb733d79d6384a68f2ab51ddaf1a2c68cd88eb562e2d271 |
|
MD5 | 6a59e4c24e33a2bb6ce30a428f31a911 |
|
BLAKE2b-256 | b741c4141369bdcb7347672d7af3122b15510ffd7176b551298b305d6f6ae6fa |
Hashes for bloock-2.5.6-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93dbf8335ae827ef84f1c49750d836da498b1655198af2e07067a9ff61672ef5 |
|
MD5 | bbeec9983998df051229634c19b966a1 |
|
BLAKE2b-256 | 639053a6a9b6e2f2929a781f1814c5ecab4d522016f3f81911e9c9b7d59d9ee2 |
Hashes for bloock-2.5.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4adfa8834baee864d075e0cbef65339382090bfef2394ffb512f639d9533dd5e |
|
MD5 | e9d572d31721c40b0cdff9ab617442aa |
|
BLAKE2b-256 | 6fc3100c7cfa8e2f7d1fd4ed33b77c4a3efca88d4549a13d46d8a8ef9e34b9fe |
Hashes for bloock-2.5.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d494dc4aaeaa547c07713980836afb1a52ba86c255a6b39cb58208fa7ed91cc2 |
|
MD5 | e2e22d06c2ab80a22d8392cc1ff504a0 |
|
BLAKE2b-256 | d797328b771558d137224bee056ce664dd1abdbc676c338662dd3db834bd5475 |
Hashes for bloock-2.5.6-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2601d86658af8bfe8d88078a01c80d15d46702f0a3d0da8b4bf9d9ad235e5b48 |
|
MD5 | 45412b5172674dbeea20a8217c337ba4 |
|
BLAKE2b-256 | 384cc9bfff81958c329c26fdc5e2ba4a431c274549a703d4e80da00c3ed22eb5 |
Hashes for bloock-2.5.6-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc4ca2a6a3883d64797474388d4bea0624594ce9cb5a48cbb14a4943bd06be73 |
|
MD5 | 4a0238e6ebae609b87e74b8c397a44d9 |
|
BLAKE2b-256 | a5be8b6708e2bd47f9869ca7bea3707f787f22d92016358dda0484bd93a8ccff |
Hashes for bloock-2.5.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c204d002101b5050bad255a0c923ff9ff48de6862b6c43928f9c652c1a66355 |
|
MD5 | d8bad21c4891542b342cf8207de22e13 |
|
BLAKE2b-256 | 5502f46f7b04ce947aa065cfac4e465d43deb4be2a42110dfca4b7eabb0599a4 |
Hashes for bloock-2.5.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7f3f42b19eb98a9bc9c9a063c8e29e042c79633593ace61ca6a0d428a14bf48 |
|
MD5 | 22c2fdc74e36c352ba78664fc1b25dc7 |
|
BLAKE2b-256 | da8c33a85f2ac613a328bb3d16f2692ebd5c66f07a42564d068e5a472913ea12 |
Hashes for bloock-2.5.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61b817768db22c50618da08c0d30bc9138cc53f7f57cebba4ac8843fc18601b0 |
|
MD5 | e2c918fc9f65b721c1771cd75f45967b |
|
BLAKE2b-256 | 4bfd5e6ac3ae570ca5fff7fb5e229b8d05868fee12463bcf54bc57d9dd7fa22d |
Hashes for bloock-2.5.6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e47272bb39710bf6e5a621d8d24c8ee6054c2428ff71ee7ee779c1216f6f606 |
|
MD5 | b3ca1e99e641e80a4f23d349e9bb1dd7 |
|
BLAKE2b-256 | 74b2c2a9f189ff1b644e3367c358e395cb70e3f49c428331c989674fa700e53e |
Hashes for bloock-2.5.6-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e21b1407bb3a8ca7e4d19417672b0379ea8416c4bf3bbb717fae384bc76dcfe4 |
|
MD5 | f69bb1ad0a75a310875def8840512d46 |
|
BLAKE2b-256 | 0cf913f5921b9de66930cca2be8677f787c118116b82f2cb936382eea54b65b4 |
Hashes for bloock-2.5.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed584c4b6468995e6ada2dfe2f38bf34c77cd86878593a41bcc9ae4449c15f5a |
|
MD5 | 235dd1f6ee74be13a57ca9c2d3a0434e |
|
BLAKE2b-256 | c8a02f8dda7a4f691053698d66f9b054fff7893acbffebe8ed85eadb6caeb62a |
Hashes for bloock-2.5.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3789b3c0e9c330366dff4acb263a5cdef38bb8a373d7f49305cf209204a664f |
|
MD5 | 8d1b8d80ece9c893bdb92fc8896ab490 |
|
BLAKE2b-256 | 09f3e1696eb5254d42ce89d185096d5a788d0b0feae827d280622664eb0e75b3 |
Hashes for bloock-2.5.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdc1682adf1b99fed92f4a025f385b1de395c86024c6c5303e2e84006a272d4b |
|
MD5 | dc6029eca594520d1dc1aed1333a9afd |
|
BLAKE2b-256 | d021d275f7d5ef9c062be4275d0f0ec3792866c37c7d279416e853018b32e54b |
Hashes for bloock-2.5.6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 157e9a71c1f67bc3cde942dcd8adaa169189c8e9c81bc8f06eaa21d6419d6666 |
|
MD5 | a0459d658736d7c0dfee31ac2bb1fee4 |
|
BLAKE2b-256 | fb26c169696890666c592d133b9a108ad2949d84d5ce23384fae478513cc78cf |
Hashes for bloock-2.5.6-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6ee2c72a5bdca8c8c659b1867edc96ad519eaceea9ec569f58fc2d1675d4da9 |
|
MD5 | 9f6c1cb047af242aba4322dc04376261 |
|
BLAKE2b-256 | e05c96e430c78c8148d7a5976377980f3fa8acce4ea5706a36a7c1284a5f0b4e |
Hashes for bloock-2.5.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc2235045cbdeb120335e41b3fb23b732699650f54021239a051a27b065f58c2 |
|
MD5 | 42ca62bde9a35891b14d59465482d333 |
|
BLAKE2b-256 | cba2bb98ef85fe0cc1fff0d25d349f6d9be6c398bae47d140fded2af3c0aaed9 |
Hashes for bloock-2.5.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 710c1c132f13e65e40d5cf146b1539813b9afbd65273f15f89f7600cbe300685 |
|
MD5 | 06f43978066edf674a89fb076514d3dd |
|
BLAKE2b-256 | c2e7302fdc9b6142c69a0743de335dcebc9064ae8452f0c11cbef99444192435 |
Hashes for bloock-2.5.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72a7d77013f6d466afed2a87324512ac7e17d210fb7767964b20b8cf27d0d11b |
|
MD5 | dfbd6101c8f4ce7f8963f501dae4bfa8 |
|
BLAKE2b-256 | 8b8e093760687beb64bb4ee5d2d23256e752078ea38701e8a72df3c6779ca8be |
Hashes for bloock-2.5.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1d66b82c53a7d137471eaf70a350a9f6f774ca50456e8e43cfcae3f6c3ac613 |
|
MD5 | f335b056e1830fe853a26e14666f76f8 |
|
BLAKE2b-256 | 216cd702d72d94be440168b76d867ebfde673ab6bc18c02a740f65550fd0cadb |
Hashes for bloock-2.5.6-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bea506b6f90f0cfe4c97296287828d13d4531d5472dc1111ce9da767826a9f1 |
|
MD5 | e7d51e9fda3c56f4b931ef2f74f92cce |
|
BLAKE2b-256 | 8b8a4c155834d8e27bd9a9959ebafa1bce7c836098839171daaf5e1d96b027fe |
Hashes for bloock-2.5.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 952105fa0d59a2b22ae577c277f92f34a11d7b8ce4ae63351e25374907242516 |
|
MD5 | fd6f409194ea39c7ffa194e15a85ca83 |
|
BLAKE2b-256 | 2f185acd001a95deccc22771c5fff8fa8c795dcb3cd336c5aac5fe6d21b0a6a3 |
Hashes for bloock-2.5.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41a053f84ced610ab39519194f4fad265386d8d85cffffc67900df5b532ef53c |
|
MD5 | b68b630fe92f15aea658f4c7628048cd |
|
BLAKE2b-256 | aead7ce51726ea6adae54991d3f9f8a87fd2f9b2fd61ef9139885497affe18d5 |
Hashes for bloock-2.5.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30dbf7d823a0f155105d3789a83441dbdd77e61526577ac522bbb05a39300a72 |
|
MD5 | 2d64d44cb5a11c597a4fbf7518c2c4fd |
|
BLAKE2b-256 | 51160204575b83496b6b9be18a966f65063230111ed8a09d91b296ed9ce14dac |
Hashes for bloock-2.5.6-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04c430843cbee65793296d3b118ccef0504578391e6b9388df6e0205aa18c5ea |
|
MD5 | 06c3b5dc51f87e3deed4e32b573b6418 |
|
BLAKE2b-256 | 6899dc17af481aeaff991bdbf67ff2cd36c3545f56b78c510c9c203711a4b3c5 |
Hashes for bloock-2.5.6-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eab4ecff400cf00134746e15d480fa747ca7b3af4eb8c8e5e7d612ab54f5e7ab |
|
MD5 | 18f8c7e8fe1edd3b78ee7cdcefc9e1e4 |
|
BLAKE2b-256 | 65ded75c591af49dfbb059e6f58689b64445f34e9b0bf4b8cc324638b23ecc05 |
Hashes for bloock-2.5.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 707b77740ca6813752534f3ac9a2d674894b7fd4a49c0627ace8f896bd850592 |
|
MD5 | 2b0e4e01e056fed0ff7a093a0118e9cb |
|
BLAKE2b-256 | ddb1feb5e229872be3fe7b50e89e232b4ac2821821c4ebfefdc6a2f945240328 |
Hashes for bloock-2.5.6-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea8cf45c89f123ad326a0afa55d67ef53c2f10255293f282e060f3c875a47345 |
|
MD5 | bdd7a535af31eae9345ffd0b655e389c |
|
BLAKE2b-256 | 7bcd3d3f9a994fdddc17edcf919501663dc97012570ededaf62282c80d6da1f2 |