Unable to submit a transaction in Net Core Client

Hello guys, I’m trying to make a Net Core Client for Libra.
Basically what I’m trying to do is, submit a transaction between to accounts. This was working the past month, but now is not working anymore probably there was a change in the Libra Core.

I updated the proto files, since I notice that had several changes in them.

As it seems in the image the admision control return like the transaction is accepted. But when I want to query it is like it was not signed.

The SignedTransactionWithProof is comming null, so my guess is something wrong with the signature.

Please if anybody know about a change in the signature or any change that could be a breaking change in my code I really appreciate the help´.

Leave my code if anyone want to check it.

Thanks all in advance!

1 Like

hi!
transaction bytecode was changed:
PtPTrxBytecode = new byte { 76, 73, 66, 82, 65, 86, 77, 10, 1, 0, 7, 1, 74, 0, 0, 0, 4, 0, 0, 0, 3, 78, 0, 0, 0, 6, 0, 0, 0, 12, 84, 0, 0, 0, 6, 0, 0, 0, 13, 90, 0, 0, 0, 6, 0, 0, 0, 5, 96, 0, 0, 0, 41, 0, 0, 0, 4, 137, 0, 0, 0, 32, 0, 0, 0, 7, 169, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 1, 3, 0, 2, 0, 2, 4, 2, 0, 3, 0, 3, 2, 4, 2, 6, 60, 83, 69, 76, 70, 62, 12, 76, 105, 98, 114, 97, 65, 99, 99, 111, 117, 110, 116, 4, 109, 97, 105, 110, 15, 112, 97, 121, 95, 102, 114, 111, 109, 95, 115, 101, 110, 100, 101, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 4, 0, 12, 0, 12, 1, 17, 1, 0, 2 };

1 Like

I have already developed libra sdk for C# https://github.com/Rio-dapp/libra-csharp-sdk

Join me and lets develop it together! Libra team updates their blockchain all the time,so we need to support new functions. As it’s open-source sdk i think it would be better if we combine our efforts
:seedling: :beers:

1 Like

I had already updated my bytecode and that was not the error.
Reviewing your code (thanks fo share it!) I notice that i was sending 0 to the expirationTime.

Adding

rawTx.ExpirationTime = (ulong)DateTimeOffset.UtcNow.AddSeconds(60).ToUnixTimeSeconds();

Fixed the problem :slight_smile:

Thanks!

2 Likes

Hello, it seems that the transaction bytecode was changed again (probably for changes crypto, as I see in the announcements).

Does anybody have the new bytecode?

1 Like

@dbascans in this testnet update you have to download new proto from testnet branch

For next update we need LCS serialization, i wrote it
I’ll deploy it on our branch tommorrow :seedling:

1 Like

(LCS on c#)
branch Master, for this testnet launch

2 Likes

Thats amazing! Thanks for your contribution!

1 Like

After updated the protos, and the bytecode. It seems that the transactions are failing don’t know why.

When I check the https://libexplorer.com/ they seems to be failed.

I tried your sdk (Really nice), but the transactions are failing too (changing the accounts). Probably they added some parameter or something that are making the transactions to fail. The AC Status is accepted, and I can see the transaction, but it seems to be failed.

I will be investigating, but if you have an idea it will be very helpful!

Thanks in advance!

2 Likes

@dbascans, you need change MaxGasAmount = 100000, and it will work :seedling:

Hello @Rio900 it’s seems that the transactions are being rejected now, do you know if the Testnet already change to LCS serialization ?

Yes,
I implemented LCS in sdk but without deserialization, i’ll implement it a little bit later

Sir, thanks for your insight.
Deserialisation function would be unnecessary to obtain raw transactions ?

Yes,
We need deserialization only for transaction signing

I will work on it today for a couple on hours, I will tell you if i’m lucky, thanks for your code!

1 Like