Open Collective
Open Collective
Loading

Add BigInt support

PROJECT
Part of: Node OPC UA

This project aims at adding support to BigInt to emulate Int64 & Uint64 and replace the current workarround of using [number,number]

About


Upgrade NodeOPCUA to support BigInt

Description:

The NodeOPCUA library has been an integral tool for developers working with OPC Unified Architecture (OPC UA) services in Node.js environments. However, the library currently lacks support for BigInt. When NodeOPCUA was created, Node.js did not support Int64. As a workaround, NodeOPCUA implemented Int64 as an array of two integers. However, the newer versions of Node.js now fully support BigInt, which provides a more efficient and effective solution for handling large integers.


This project aims to upgrade NodeOPCUA to fully support BigInt without breaking the existing API.


Objectives:

  1. Evaluate the current implementation of Int64 in NodeOPCUA.
  2. Design an approach to incorporate BigInt support within the existing API structure.
  3. Implement BigInt support in the library without causing breaking changes to the existing API.
  4. Test the changes across different use cases to ensure compatibility and performance improvements.
  5. Document the changes and update the library documentation to reflect the new support for BigInt.

Work Package Breakdown:

  1. Research & Analysis: Evaluate the current implementation of Int64 as an array of two integers in NodeOPCUA. Understand the usage and implications of this implementation across the library.
  2. Design: Create a design blueprint to incorporate BigInt into the existing NodeOPCUA structure. This design should aim to provide an upgrade to BigInt support without causing breaking changes to the API.
  3. Development: Implement the design changes in the library. This includes coding the BigInt implementation and integrating it with the rest of the library.
  4. Testing: Conduct extensive testing to ensure that the changes have been successfully implemented and that they don't cause any breaking changes to the existing API. The tests should also evaluate any performance improvements as a result of the BigInt support.
  5. Documentation: Update the library documentation to reflect the new BigInt support. This includes updating any sections referring to the previous Int64 implementation and adding sections about the new BigInt functionality.

Timeframe:
Approximately 3 months, subject to change based on project complexities and potential challenges.


Deliverables:
  • A version of NodeOPCUA with BigInt support.
  • Comprehensive documentation detailing the BigInt implementation.
  • A detailed report on the performance improvements and compatibility status post-implementation.

Risk & Mitigation:

* Risk: Potential breaking changes to the API.
* Mitigation: Extensive unit testing and carefully planned development process to ensure that the existing API remains unbroken.

This project aims to improve NodeOPCUA's capabilities and align it with the current technology standards in Node.js, providing a better tool for developers working with OPC UA services.

Our team

Contribute


Become a financial contributor.

Financial Contributions

Goal
Contribute to adding BigInt support in NodeOPCUA

Development will start when 70% of the budget will be secured

$0.00 USD of $3,000 USD raised (0%)

Starts at
$250 USD
Custom contribution
Donation
Make a custom one-time or recurring contribution.