Customize Wrapper APIs for Bond Marketplace

The bond marketplace wrapper API is a modified version of the wrapper API package that is generated by Blockchain App Builder.

Complete the following steps if you regenerate the wrapper API package after adding custom methods to the bond marketplace chaincode. To ensure that your changes are compatible, you must modify the newly generated wrapper API package by using the bond marketplace wrapper API package that is bundled with the product.
  1. Use Blockchain App Builder to generate a wrapper API package for the bond marketplace chaincode.
  2. Extract the files from the package.
  3. Back up the routes.go file, and then replace the OCI function folder in the new wrapper API package with the BondMarketPlaceOCIFunction folder from the bundled BondMarketplace wrapper API package. Restore the backup version of the routes.go file.
  4. Add the following variables to the terraform.vars file.
    idcs_url="<idcs_url>"
     idcs_port="<idcs_port>"
     cbdc_chaincode="<cbdc_chaincode>"
     cbdc_channel="<cbdc_channel>"
     prepare_timeout=<prepare_timeout>
     isolation_level="<isolation_level>"
  5. Edit the function_path JSON variable at the end of the terraform.vars file to add entries for any new methods. The function_path variable defines API endpoints as an array of objects in the following format.
    function_paths="[{\"endpoint\":\"/addAdmin\",\"methodType\":[\"POST\"]}]"
    Add entries for the new createIDCSUser and createAccountWithEnrollment methods, as shown in the following example.
    function_paths="[{\"endpoint\":\"/addAdmin\",\"methodType\":[\"POST\"]},{\"endpoint\":\"/createIDCSUser\",\"methodType\":[\"POST\"]},{\"endpoint\":\"/createAccountWithEnrollment\",\"methodType\":[\"POST\"]}]"
  6. Verify and update the names for the modified methods purchaseBondToken, approveBondRedemption, payInterest to ensure that they are named correctly in the function_path variable in the terraform.vars file.
  7. Replace the main.tf file in the newly generated wrapper API package with the main.tf file from the wrapper API package that is bundled with the product.