Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Task marked complete

...

TimeItemWhoNotes
Proper Stellar installationMyrle had installed Stellar core, following these instructions (https://github.com/stellar/stellar-core/blob/master/INSTALL-Windows.txt), but not Horizon.  "stellar-core is low level consensus server it doesn't expose any API for developers." The API requires an instance of a Horizon server (https://github.com/stellar/horizon).  Installing Horizon is however complicated, and requires another component. Scott (Stellar's other developer) is working on simplifying the process.  This is the reason Jed and Bartek both recommend using their already running test instances (https://horizon-testnet.stellar.org).  However this approach will not allow for the creation of robust integration tests for the connector component.  We've agreed that for the initial development Myrle will test with their test server, but that before we are done we will create a standalone system for integration tests.
 Stellar bootstrapping Once the Stellar core is running, lumens will need to be transferred to accounts in order to create them because the accounts have a minimum lumen balance.  This means that there need to be accounts already existing. A definite problem since the goal was to create an account.  On the Stellar test network the problem is solved by using the "friendbot (the little bot that sends some test lumens)".  According to Bartek, it is possible to make an instance part of the test network temporarily using this configuration (https://github.com/stellar/stellar-core/blob/master/docs/stellar-core_testnet.cfg).  Then use https://stellar.org/galaxy to generate test lumens.  It's not yet clear if this is sufficient for robust integration testing.  We will have to continue work in this area.
 API concepts 

Bartek explained the reason behind having two parts to the API, and which part to find what in:
"...SDK consists of two parts:
- java-stellar-base to create low level objects: http://stellar.github.io/java-stellar-base/
- java-stellar-sdk: to submitting transactions and consuming horizon API http://stellar.github.io/java-stellar-sdk/
it's done this way because it the future we think that a community can create another server that connects to stellar-core and then developers will need only *-base library. "
"java-stellar-base is java-stellar-sdk dependency so you should have access to it's classes without installing java-stellar-base separately"

"CreateAccountOperation and CreateAccountOperation.Builder are part of java-stellar-base"

"There's a submitTransaction on the Server." which accepts the Transaction which is part of base.  Not the Transaction which is part of the sdk.

"https://github.com/stellar/java-stellar-base/blob/master/examples/java/StellarExample.java#L17-L21 this is how transaction is created. then you only need to sign it and it's ready to be submitted."

 Extra testing tools 

The form in which transactions are submitted to the server can be examined:

"every time you create a new transaction you can see it base64 encoded by using this method: https://github.com/stellar/java-stellar-base/blob/master/examples/java/StellarExample.java#L25"

"then you can check it using this tool: http://stellar.github.io/xdr-viewer/"

Action items

  •  Bartek and Scott will simplify instantiating Horizon.
  •  Myrle will continue with development using the test horizon server until progress has been made above.