I have been using the Java SDK to build an anchor implementation and the SDK is full of incomprehensible data structures that impede understanding. For example, to find out if a PathPayment worked the PathPaymentStrictSendResult.getDiscrimant().toString() gives PATH_PAYMENT_STRICT_SEND_SUCCESS but to find out if transaction submit has worked a SubmitTransactionResponse.isSuccess() is provided.

Another example is the proliferation of strings that are wrapped in unnecessary objects. The json below serves as a typical example. sep31-sender does not need to be an object that contains just a string. How does this help?

"sep12": { "sender": { "types": { "sep31-sender": { "description": "U.S. citizens limited to sending payments of less than $10,000 in value" }, "sep31-large-sender": { "description": "U.S. citizens that do not have sending limits" }, "sep31-foreign-sender": { "description": "non-U.S. citizens sending payments of less than $10,000 in value" } } },

The point is that it seems every call has its own way of reporting success or failure. It usually takes a trial and error process and debugging just to figure how to determine success or failure. In Java SDK, a lot of the classes and models are just plain weird!

The Java SDK is a real pain to work with. I would like to volunteer to help with this problem. Where can I go with this? Reach me at aubrey at aftarobot.com

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.