laconic-sdk/README.md
Nabarun 65001568c8 Remove hard-coded record types (#52)
Refactors the `Record.Attributes` from Any into a byte string.
Companion to cerc-io/laconicd#132.

Resolves https://github.com/cerc-io/laconicd/issues/107

Co-authored-by: Roy Crihfield <roy@manteia.ltd>
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Reviewed-on: cerc-io/laconic-sdk#52
Reviewed-by: Thomas E Lackey <telackey@noreply.git.vdb.to>
Co-authored-by: Nabarun <nabarun@deepstacksoft.com>
Co-committed-by: Nabarun <nabarun@deepstacksoft.com>
2024-01-15 04:58:55 +00:00

2.2 KiB

laconic-sdk

Client library used by TS/JS applications to communicate with laconicd.

Tests

Follow these steps to run the tests:

  • After cloning this repo run:

    yarn
    
  • Copy .env.example file and create a .env file.

  • Clone the laconicd repo and change to repo directory.

  • Run the chain using ./init.sh.

  • Export the private key using:

    laconicd keys export mykey --unarmored-hex --unsafe
    
  • Copy the private key and assign it to variable PRIVATE_KEY in the .env file.

  • Run the tests in laconic-sdk repo:

    yarn test
    
  • Run the tests with auctions enabled

    • Remove laconicd data from previous run

      rm -rf ~/.laconicd
      
    • In laconicd repo run:

      TEST_AUCTION_ENABLED=true ./init.sh
      
    • Export the private key and change it in .env file again using:

      laconicd keys export mykey --unarmored-hex --unsafe
      
    • Run tests:

      yarn test:auctions
      
  • Run the tests for record and authority expiry

    • Remove laconicd data from previous run

      rm -rf ~/.laconicd
      
    • In laconicd repo run:

      TEST_REGISTRY_EXPIRY=true ./init.sh
      
    • Export the private key and change it in .env file again using:

      laconicd keys export mykey --unarmored-hex --unsafe
      
    • Run tests:

      yarn test:nameservice-expiry
      

Development

README

Known Issues

  • Passing a float type value in watcher attributes throws error when sending setRecord message.

    failed to execute message; message index: 0: Invalid signature.: unauthorized
    
  • When sending setRecord message, an integer value passed in watcher attributes is parsed as float type in laconicd while unmarshalling json.

  • setRecord message throws error when fileds in Record message are not assigned.

    failed to pack and hash typedData primary type: provided data '<nil>' doesn't match type 'string' [tharsis/ethermint/ethereum/eip712/eip712.go:33]
    

    Passing dummy values to work around issue.