• Stars
    star
    248
  • Rank 163,560 (Top 4 %)
  • Language
    TypeScript
  • Created over 4 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple, scalable smart contracts on the Arweave protocol.

SmartWeave

Gitopia

Simple, scalable smart contracts on the Arweave protocol

Uses lazy-evaluation to move the burden of contract execution from network nodes to smart contract users. Currently, SmartWeave supports JavaScript, using the client's unmodified execution engine.

Version: 0.4

For information on how the contracts execute, how to write one, and the API, read the Contract Guide and check some of the examples

For information on how to create a new Profit Sharing Token (PST), you can read the PST Creation Guide.

For a description of the SDK methods available, you can check here

CLI Usage

npm install -g smartweave

You can deploy a contract as follows:

smartweave create [SRC LOCATION] [INITIAL STATE FILE] --key-file [YOUR KEYFILE]

Or, using an existing contract source that is already deployed but with a new initial state and contract id:

smartweave [SRC TX] [INITIAL STATE FILE] --key-file [YOUR KEYFILE]

Check its state:

smartweave read [CONTRACT TXID]

Interact with it:

smartweave write [CONTRACT TXID] --key-file [YOUR KEYFILE] \
  --input "[CONTRACT INPUT STRING HERE]"

When interacting with the contract, the value passed to --input must be valid json. Typically an object is used:

--input '{ "function": "transfer", "qty": 1984 }'

To test a contract interaction without writing it to the network, append --dry-run to your --interact call.

License

This project is licensed under the terms of the MIT license.