HelixNetwork / pendulum-sdk

The official Pendulum SDK.
https://hlx.ai
MIT License
5 stars 8 forks source link

Schnorr to winternitz transition #13

Closed sachushaji closed 5 years ago

sachushaji commented 5 years ago

Helix - Project

Release Notes - January 28 2019

1. Signature

The signature has been changed from hybrid schnorr with wots to winternitz (back to iota implementation) ● Wots should use 32 fragments but they are reduced to 16 fragments => 16 * 32 = 512 bytes for private key ● Public key will have 32 bytes ● Signature will have 512 bytes for security level 1 and 1024 for security level 2 (it will be splitted in 2 different transactions) ● Transaction size is 720 bytes

2. Tests

After the signature change, most of the tests ( except converter, sha3, httpclient, etc ) were failing or had to be adjusted. We took all the tests one by one and perform the required changes. The most time consuming part was to generate and create new correct sample data for each case.

3. Sandbox testing - suggestions

We performed some tests using helix sandbox from https://github.com/HelixNetwork/sbx . The sandbox has to be adjusted to work with the current protocol and we have the following direct suggestions: ● Command ‘wereAddressesSpentFrom’ failed, ‘WereAddressesSpentFrom’ should be replaced with ‘wereAddressesSpentFrom’, this is the cause of error in getNewAddress ● Command ‘getTips’ did not display a hexadecimal value for hash. In method getTipsStatement from API.java, toString method should be replaced with hex conversion. ● Command ‘getInclusionState’ failed with (Error response (400) - cannot send response This operation cannot be executed: The subtangle has not been updated yet, it may be because of the wrong tip (getTips is not working yet). ● Commands: ‘getTransactionsToApprove’, ‘attachToTangle’, ‘prepareTransfers’ failed because of the following error: INFO net.helix.sbx.service.API - Tip selection failed: This operation cannot be executed: The subtangle has not been updated yet. ERROR net.helix.sbx.service.API - Error response (400) - cannot send response This operation cannot be executed: The subtangle has not been updated yet.