It is exciting to introduce you to the new NexScript v.1.1.0 version. This is a significant release that polishes Nexa scripting at the backend. A lot of work was done to make it cleaner and more reliable, aligning it with most of the Nexa ecosystem. On-chain interactions are now consolidated and aligned with the Nexa TypeScript library.
For developers, there is a change worth your attention. Now, NexScript defaults to a local regtest instead of connecting to a live network. All network providers now need to specify an environment type.
Release page:
https://gitlab.com/nexa/nexscript/-/releases/v1.1.0
What is NexScript
NexScript is a smart-contracting language on the Nexa blockchain. It is designed to help developers write smart contracts without requiring underlying logic. Smart contracts on Nexa are stateless and UTXO-based, and are consumed only once. Because there is no global state, the results are fully deterministic and predictable.
What’s New
All old libraries NexScript previously used have been cleaned up, and all on-chain interactions have been consolidated into the libnexa-ts library. This means aligning Nexa scripting with the rest of the ecosystem project and using a unified backend, improving cross-interactions and usability. With these changes, new full tests were written, and a new caching layer was added to keep end-to-end tests stable with automated checks.
Some of the most significant updates include:
- Added libnexa-ts ^3.0.3 as the single core dependency for transactions, scripts, addresses, hashing, and signing across all packages.
- Added Vitest test runner with per-package vitest.config.ts and a root vitest.config.js. The nexscript config uses a single forked pool (forks / singleFork: true) with extended testTimeout/hookTimeout to keep e2e tests serialized and avoid UTXO conflicts.
- Migrated @nexscript/utils (script.ts, data.ts, merkle.ts) to libnexa-ts. Script is now libnexa-ts’s chunked Script class rather than the previous (Op | Uint8Array) array; encoding/decoding of ints, bools, and strings now goes through BNExtended / TextEncoder.
- Migrated nexscript core (Contract.ts, Transaction.ts, TransactionBuilder.ts, SignatureTemplate.ts, utils.ts, constants.ts) to libnexa-ts transaction building and signing via TransactionBuilder, TxSigner, TxSignature, ScriptFactory, and SighashType.
With this release, a lot more work has been done, all well documented in the changelog below.
Changelog:
https://gitlab.com/nexa/nexscript/-/blob/master/CHANGELOG.md
Conclusion
This is a major NexScript release that provides a foundation for upcoming improvements and releases. It aligned most of the Nexa ecosystem’s infrastructure with smart contract language. Now the ground is well set for more improvements with the upcoming updates.
Reminding all developers that now NexScript defaults to a local regtest instead of mainnet, which requires your attention. If you have any feedback, suggestions, or problems, please reach out to the team in the Nexa forum or community groups.
Nexa Main Telegram: https://t.me/nexacoin
Nexa Developer Support: https://t.me/nexa_dev
NexScript Telegram: https://t.me/nexscript
Nexa Discord: Nexa
