The best thing to do is to look at one of the official libraries and use them as guide. I can give you an high-level overview of the steps required to implement the base library to interact with stellar.
First of all, you need a XDR serializer and deserializer. You probably also want to auto-generate the XDR object classes for you language using a tool like xdrgen. This is not strictly necessary, for my Rust library I wrote everything by hand.
Then you want to familiarize with the XDR definitions in stellar-core
, start walking backwards from the Transaction
definition.
The first thing to serialize is the public key, since it's used everywhere. From there you can start working on more complex objects (Asset, Operation, etc.) until you have everything needed for transactions.
I recommend using the official libraries to generate test cases, you can call the toXDR('base64')
method on almost every javascript object and you will get back the base64-encoded XDR object.
Good luck!