elucidsoft / dotnet-stellar-sdk

Stellar API SDK for .NET 6.x
Apache License 2.0
117 stars 55 forks source link

Soroban #390

Open jopmiddelkamp opened 1 year ago

jopmiddelkamp commented 1 year ago

Are there any plans to support Soroban in the near future?

elucidsoft commented 1 year ago

There is basic support on the soroban branch where we merged in the soroban XDR changes.

elucidsoft commented 1 year ago

https://github.com/elucidsoft/dotnet-stellar-sdk/tree/soroban-support

elucidsoft commented 1 year ago

TBH we could use help on adding more.

jopmiddelkamp commented 1 year ago

TBH we could use help on adding more.

We just added some research time into our SCF request to free up some time to investigate how the SDK code works in detail. This way we could also contribute to maintaining the .NET SDK as well.

elucidsoft commented 1 year ago

That's awesome! Having more contributors to this project will definitely keep it going! Thank you!

xsoul commented 1 year ago

is there any update for the soroban support? I wish to contribute but I'm new in Stellar, any direction given would be appreciated. Thank you.

jopmiddelkamp commented 1 year ago

@elucidsoft is a little occupied with other things lately. But maybe I can guide you a little. I don't know a lot yet of this either I'm currently also exploring a little on how I can support the development of this SDK as well. So far my latest knowledge is:

As far as I know there is not any update on anything Soroban related.But, you can of course contribute if you like just remember, contributions to this repository should follow its contributing guidelines, security policy, and code of conduct.

To add support for Soroban you need to understand the XDR serialisation. I think we need to update the XDR files with the latest XDR files released by Stellar that include all data related to Soroban. Then new XDR object need to be generaged based on those XDR files. When the XDR files have been generated we need to write the actual implementation for which we should look at other repositories like for example the JavaScript, Java and/or Dart SDKs and how they've implemented it already.

xsoul commented 1 year ago

I'm writing Soroban Client class in C#, if you need my code to put into the contribution effort, I will be happy to do so

xsoul commented 1 year ago

I tried to add the latest XDR and run the xdrgen command, but i have the following error, anything I did wrongly?

command used: dotnet-stellar-sdk-master\dotnet-stellar-sdk-master>xdrgen -o=./stellar-dotnet-sdk-xdr/generated -l=csharp -n=stellar_dotnet_sdk.xdr ./stellar-dotnet-sdk-xdr/*.x

Error:

C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/xdrgen-0.0.1.pre.dev/lib/xdrgen/parser.rb:14:in `block in parse': Couldn't parse, failed at: 2340:46 (Xdrgen::ParseError)
Expected one of void, opaque, string, int, hyper, unsigned int, unsigned hyper, float, double, quadruple, bool, enum, struct, union, case, const, default, switch, typedef, unsigned, [a-zA-Z] at line 2340, column 46 (byte 54629) after namespace stellar
jopmiddelkamp commented 1 year ago

I'm running MacOS.. @elucidsoft do you have any idea?

elucidsoft commented 11 months ago

There is a branch for Soroban with the .x files updated. @Kirbyrawr Did all of that so I don't know much about it at the moment.