BLOOCK offers multi-language libraries to facilitate integration while eliminating any needless complexity. These libraries handle data encryption, authentication, and communications for you. All the source code for our SDKs is open-sourced under MIT License, you can check it out here:
Currently, these libraries are implemented for Javascript, Java, Python and Golang. Its main objective is to isolate all the complexity and to ease integration for the developers. Their main modules are:
  • Normalization of input data: This module is relevant for the hash to be exactly the same no matter the state of the data sent. If the data introduced is not normalized the resulting hash of the encryption operation won't be the same, as it would be considered a totally different input field. For example, the following JSON, which represents the same object would result in totally different hashes:
    Hash("{a: 3, b:5}") = 0x190eb2f0bb704b4c5711e2273a51287217b7efa992bee8b25b9f47c984d4d45f
    Hash("{b: 5, a:3}") = 0x83e2e71390b67fb9d3bf3949a001cadbf19aec7449b33276062136080c539cb4
  • Hashing: Data normalized is hashed using an undecipherable one-way encryption algorithm (keccak of 256 bits) on the client-side. This helps in obtaining a hash that represents the integrity of the data provided. It can be sent through the internet without revealing any details of the data it is referencing and thus ensuring total privacy.
  • Communications: This module manages authentication to the BLOOCK protocol and handles the communications for message sending, proof gathering and verification. It allows you to integrate the functionalities provided without having to integrate with the API.
  • Proof verification: They also provide a mechanism to verify the Merkle proofs gathered from an array of hashes to prove the existence of a certain certificate and to check its time validity against blockchain timestamp.
We are constantly working on building new SDKs and integrations for Bloock. If you are interested in a specific language or integration, you can contact us at [email protected]