Skip to content

FCL Feature: Calculate the transaction hash #24

@srinjoyc

Description

@srinjoyc

👋   If you are interested in working on this issue, please check out the Getting Started guide on HackerEarth!

Description (Problem Statement)

Right now, there's no way to get the transaction hash before it's sent to the blockchain. Pre-calculating the transaction hash will allow for error recovery if there are any network connection issues during the submission of the transaction.

Experience Required (Team Required)

  • JS and familiarity with FCL, SDK send

Minimum Feature Set (Acceptance Criteria)

  • Add this ability as a middleware to be executed/resolved right before transaction is sent
  • It should wait for the callback function to complete before sending the transaction
  • Implement an additional function that would supply the ability to go from the transaction voucher to the hash (txId) **voucher => voucherToTxId(voucher)**
  • If the callback throws an error it should halt the transaction

Milestone Requirements

  • Implement async function which calculates the transaction hash from data
  • Implement voucherToTxId ****function that takes a transaction voucher and calculates txId hash
  • Documentation - Add a description for this feature including sample code for usage in the existing API Docs

Software Requirements

  • Code should be written with best practices in mind.
  • Other Requirements - Error Reporting
    • Throw descriptive exceptions on errors
    • Prints a clear error message to the browser console
  • All core logic should have unit tests. Include tests for success on valid data and failure

Other Requirements

  • Documentation describing the utility functions and parameters

Judging Criteria

Resources

Metadata

Metadata

Assignees

Labels

Local Development ToolsTier 3Small task, spanning 1 milestone, generally can be completed with limited domain knowledge.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions