Have ideas to improve npm?Join in the discussion! »

    @fr8/besu-tx

    0.2.0 • Public • Published

    Besu Utilities

    Run it:

    npm install
    node test.js --url=<url of the target node> --verbose --deploy
    

    The above command deploys a simple smart contract simplestorage.sol to the target node and sets the initial value to 10.

    You should see output similar to the following:

    1. Connecting to target node: https://<username>:<appcreds>@-$freightlayer.io
      Found account in the target node: 0xFf8c6060d3D4930E81a4c923b96B05FC039901F4
    2. Deploying smart contract
      Smart contract deployed, ready to take calls at "0xb53C9f258FdD76B78D154CcEd33EFe09f9Bd9B69"
    

    Query the current value

    Feel frees to switch to a different node in the same consortia for any of the following commands as they are supposed to work the same on any of the consortia nodes.

    node test.js --url=<url of the target node> --contract=<contract address from the output above> --query
    

    Set a new value

    node test.js --url=<url of the target node> --contract=<contract address from the output above> --set=<new value>
    

    Print out the DataStored event

    node test.js --url=<url of the target node> --ws=<ws:// URL for the websocket connection> --contract=<contract address from the output above> --set=<new value>
    

    Deploy a private smart contract

    node test.js --url=<url of the target node> --deploy --privateFor='["<private transaction addresses>"]'
    

    Note: the privateFor argument value must be delimited with single quotes, and use double quotes for each of the target private addresses, in order for the script to successfully parse

    Deploy a private smart contract to a Besu node

    node test.js --url=<url of the target node> --deploy --besu_private --privateFor=<private transaction addresses of receiver(s)> --privateFrom=<private transaction address of sender>
    

    NOTE: List receiver addresses seperated by comma(,)

    Send a private transaction

    node test.js --url=<url of the target node> --contract=<contract address from the output above> --set=<new value> --privateFor='["<private transaction addresses>"]'
    

    Send a private transaction to a Besu node

    node test.js --url=<url of the target node> --contract=<contract address from the output above> --set=<new value> --besu_private --privateFor=<private transaction addresses of receiver(s)> --privateFrom=<private transaction address of sender>
    

    Query a private transaction from a Besu node

    node test.js --url=<url of the target node> --contract=<contract address from the output above> --query --besu_private --privateFor=<private transaction addresses of receiver(s)> --privateFrom=<private transaction address of sender>
    

    Use an external account to deploy contract and sign a transaction

    node test.js --sign --url=<url of the target node> --deploy
    node test.js --sign --url=<url of the target node> --contract=<contract address from the output above> --set=<new value>
    

    Use hdwallet account to deploy contract and sign a transaction

    Note: EthSigner's hdwallet service must be provisioned and a wallet created to use this option

    node test.js --sign --hdwalletUrl=<url of the hdwallet service> --hdwalletId=<hdwallet ID> --hdwalletAccountIndex=<account index to anonymize identity> --url=<url of the target node> --deploy
    node test.js --sign --hdwalletUrl=<url of the hdwallet service> --hdwalletId=<hdwallet ID> --hdwalletAccountIndex=<account index to anonymize identity> --url=<url of the target node> --contract=<contract address from the output above> --set=<new value>
    

    Keywords

    none

    Install

    npm i @fr8/besu-tx

    DownloadsWeekly Downloads

    3

    Version

    0.2.0

    License

    none

    Unpacked Size

    38.3 kB

    Total Files

    15

    Last publish

    Collaborators

    • avatar