Proof of Concept of Opencoin mint with REST API and CrowCpp
Go to file
2024-07-14 16:15:26 +02:00
.github updated github flow with asio for newer crowcpp 2024-07-14 16:15:26 +02:00
src fixes for warnings from code analysis 2023-04-20 22:56:34 +02:00
test fixes for warnings from code analysis 2023-04-20 22:56:34 +02:00
.drone.yml add github action for build 2022-12-04 21:56:10 +01:00
.gitignore added catch2 for unit tests and first test in test/test.cpp 2022-11-21 22:51:00 +01:00
CMakeLists.txt updated github flow with asio for newer crowcpp 2024-07-14 16:15:26 +02:00
README.md fixes for warnings from code analysis 2023-04-20 22:56:34 +02:00
vcpkg.json updated github flow with asio for newer crowcpp 2024-07-14 16:15:26 +02:00

opencoin-issuer-cpp - a C++ OpenCoin Issuer REST-API implementation

build Documentation

opencoin issuer

this is a C++ implementation of the opencoin protocol done as mapping to some kind of REST interface.

As all issuer related interactions of the protocol follows a request/response mechanism we are able to map all of them to Http-Requests.

We decided to use POST-Requests in all cases, as the protocol uses JSON-formatted messages for requests.

The following table gives an overview of the mapping of requests to URLs:

Request URL Response C++ Interface Method
RequestCDDCSerial /cddc/serial ResponseCDDCSerial cdd.cdd_serial of Model::get_current_cddc()
RequestCDDC /cddc ResponseCDDC Model::get_current_cddc()
RequestMKCs /mkcs ResponseMKCs Model::getMKCs
RequestMint /mint ResponseMint Model::mint
RequestRenew /renew ResponseMint or ResponseDelay ?
RequestResume /resume ResponseMint or ResponseDelay ?
RequestRedeem /redeem ResponseRedeem Model::redeem

actually the implementation is a work in progress.

TODO

  • blinding utilizing crypto++
  • integrate session and login to make transactions account based
  • bookkeeping for accounts

Protocol Questions

Blinding Notes

https://stackoverflow.com/questions/47860570/how-to-create-and-verify-blind-rsa-signatures-with-crypto

https://crypto.stackexchange.com/questions/12707/usability-of-padding-scheme-in-blinded-rsa-signature

https://crypto.stackexchange.com/questions/54085/is-there-a-standard-padding-format-for-rsa-blind-signatures/60728#60728 https://crypto.stackexchange.com/questions/5626/rsa-blind-signatures-in-practice

https://cfrg.github.io/draft-irtf-cfrg-blind-signatures/draft-irtf-cfrg-rsa-blind-signatures.html

alternative implementation using openssl https://github.com/jedisct1/blind-rsa-signatures