Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mainnet transaction simulation improvements #1646

Open
1 of 15 tasks
Tracked by #1672
hugocaillard opened this issue Jan 22, 2025 · 0 comments
Open
1 of 15 tasks
Tracked by #1672

mainnet transaction simulation improvements #1646

hugocaillard opened this issue Jan 22, 2025 · 0 comments
Assignees

Comments

@hugocaillard
Copy link
Collaborator

hugocaillard commented Jan 22, 2025

This issue lists some ideas around improvements (especially performance improvements) fort he future iteration of #1503

To be released before or as part of Clarinet 3.0

  • Fully implement and test get-(stacksd|burn)-block-info? and get-tenure-info? especially when used in at-block. This is one of the main limitation at the moment
  • await simnet.initEmptySession(<RemoteDataSetting>); should take 0 or 1 argument. In remote data setting, initial_height and api_url should be optional

Further improvements

  • Save data to file system. Once a data is fetched, it's likely ot be reused (in future simnet session or in other unit tests), the block, marf data and metadata could be save in a file
  • Better http client and remote data handling
    • Refactor stacks-rpc-client so that it compiles to wasm, include repl/remote-data.rs in it
    • Bettter handling of network errors (block or sortition not found, api unavailable)
    • Remove the need for a npm dependencies in clarinet-sdk-wasm to perform synchronous http request
      • The NPM dependency sync-request was removed in favor of calling curl in a child process.
      • Explore Rayon with wasm-bindgen-rayon to have platform agnostic code
      • Or some other approach similar to sync-rpc but that should be implemented on the rust side.
    • Improve handling of epoch_for_height used in in datastore and requirements to remove the need for hard coded values
  • Fetch some of the known data before starting the code execution, it could be parallalized
    • Chain info (/v2/info, /v2/pox to get epoch)
    • Current block info
    • All contracts metadata
@github-project-automation github-project-automation bot moved this to 🆕 New in DevTools Jan 22, 2025
@hugocaillard hugocaillard changed the title MXS performance improvement Transaction Simulation performance improvement Feb 4, 2025
@hugocaillard hugocaillard changed the title Transaction Simulation performance improvement Transaction Simulation improvements Feb 4, 2025
@hugocaillard hugocaillard moved this from 🆕 New to 📋 Backlog in DevTools Feb 6, 2025
@hugocaillard hugocaillard changed the title Transaction Simulation improvements mainnet transaction simulation improvements Feb 11, 2025
@hugocaillard hugocaillard self-assigned this Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant