#Stellar Explorer Soroban support (https://futurenet.steexp.com)

59 messages · Page 1 of 1 (latest)

junior pasture
#

I've started adding support for Soroban contracts to Stellar Explorer, first release includes:

More to come - render ALL ScVal types (eg. Maps currently showing base64 but can be decoded), show decompiled contract code using wasm-decompiler and the plain wat form too, ...

Let me know what you'd like to see added and if there are any issues with what's currently there.

Thanks!

somber rain
#

👏🏻 This is great.

final lichen
#

Love it!!!

ivory sierra
#

Amazing! @junior pasture I encourage you to also make a project post in #1082054199187083264 😄 We'll have the project pitches next week, and I'd love to see you there!

uneven saffron
#

I noticed a small bug rendering an i128 param for large numbers as negative. This is being fixed in the js-stellar-base/soroban-client soon so I wouldn't waste too much time on it. Great work!

#

Test this js ms timestamp as an i128, 1686749289000

mellow musk
#

@junior pasture it seems like the regular mainnet steexp.com is down

brave cloud
#

Incredible! 👏
I was here

junior pasture
# mellow musk

thanks @mellow musk . i need a few smoke tests to catch this kind of thing!

fixed now. force a reload if it's not working as the whole site gets cached.

junior pasture
uneven saffron
outer spade
#

cool

rare nexus
#

this is really cool!

#

Who built this great work!

#

oh hatch! Great work

spiral sage
#

So cool.

onyx agate
#

hello @junior pasture ! Can you DM me (want to sync up on your roadmap etc).

junior pasture
#

@onyx agate please try again, this should be fixed now. the jsonrpc responses had changed so i needed to update the response handling.

#

sure will DM you 👍 nearing the end of the second planned milestone now which was the largest.

junior pasture
hollow wedge
#

wonderful

junior pasture
#

I'll check the site after the testnet upgrade and patch any issues i see.

if anyone sees problems please let me know here or with a github issue and I'll try fix it as quick as i can. 🙏

final lichen
#

Amazing! Thank you!

junior pasture
#

You can now see the contract interface (in Rust) by clicking on the "Interface" tab in Stellar Explorer:

#

"Download wasm file" is now in the top section and not buried in the code tabs.

#

Finally everything should be a lot more stable than it was a couple of weeks ago when a major release broke a bunch of stuff. 😦

I've hooked up sentry and worked through issues seen there.

Let me know though if you do see issues! Or would like to see some new features.

Thank you 🙏

onyx agate
#

This is awesome @junior pasture - the contract interface looks great.

#

When do you anticipate deploying this to Testnet? 🙏

somber rain
# junior pasture You can now see the contract interface (in Rust) by clicking on the "Interface" ...

This is very very nice 👏. Is the Rust code being generated on the backend by using the CLI? I see a note on the page saying it's using the soroban contract binding command.

Something you might like to explore is using the soroban-spec-rust crate to generate the rust interface without the CLI. That's the crate the CLI is using. Either on the backend, or it'll even work on the frontend too. It is possible to compile the soroban-spec-rust crate to WASM, and then to generate the rust code in the browser. I got this to work in an experiment a few months ago. If you try and run into any hiccups I'd be happy to help.

This is awesome. 🔥🔥🔥

junior pasture
junior pasture
final lichen
#

@shell phoenix here's a thread on steexp ICYMI.

shell phoenix
#

👋 @junior pasture the ability to view wasm bytecode is fantastic btw. It's also really useful to be able to browse futurenet and testnet!

Any plans for adding aggregate network level metrics? Ethereum type metrics are probably a stretch for now but basic would be nice to have.

https://etherscan.io/charts

wanton token
#

However in the SoroswapFactory contract our storage is:

#

#[derive(Clone)]
#[contracttype]
pub enum DataKey {
    FeeTo,      // Address. Instance storage
    FeeToSetter, // Address. Instance storage
    PairWasmHash, // BytesN<32>. Persistent storage
    FeesEnabled, // Bool. Instance storage
    TotalPairs, // Total pairs created by the Factory. u32, Instance storage
    PairAddressesNIndexed(u32), // Addresses of pairs created by the Factory. Persistent Storage
    PairAddressesByTokens(Pair)
}
rare nexus
#

it would definitely be nice to see both

wanton token
#

Also, I think you are down in Mainnet

rare nexus
#

That's a different error from the one i was getting this weekend... when i tried this weekend it was just saying something like 'code 52' with no navbar or anything

junior pasture
#

thanks guys, i will look into adding that storage when i get a chance 👍

#

and these errors too. Havn't seen the code 52 one before. but that should be in sentry so i'll take a look.

there are a number of errors that will show up Unexpected error when horizon rejects the requests due to too much traffic. I changed steexp to do a couple of retries but if it fails repeatedly these errors will still bubble to the UI unfortunately ..

atomic hinge
#

May I have a question for you?

rare nexus
junior pasture
#

looked into the Unexpected Server Errors and confirmed they are due to rate limits from Horizon: https://developers.stellar.org/network/horizon/structure/rate-limiting

the app is using a server side rendering piece that is making calls out to horizon so all requests are coming from that which has a single ip. ie. not from each users browser. so i'll rework the app a bit to have these calls come from each users browser instead of the server side.

Horizon rate limits on a per-IP-address basis. By default, a client is limited to 3600 requests per hour - one request per second on average.

rare nexus
#

Yeah thats the best option unless you run your own api server

somber rain
#

@junior pasture seeing white screen errors today on steexp.com, is that the same issue with horizon rate limiting?

junior pasture
#

hi leigh, yes i.think so. will check the backend but i expect thats the same. will try to fix this issue today.

junior pasture
junior pasture
#

Should be up and running again. I've switched over transactions view and main accounts view to call horizon from each browser now. Will bring over the other views over the next day or so. Also deployed extra backend servers that all have new ips so less likely to hit the rate limit now.

junior pasture
#

still getting rate limited ... 😦 well, working on moving ALL requests from backend to front so by the time i do that this problem should go away ...

somber rain
vagrant talon