@operate/cli

0.0.2 • Public • Published

Operate | CLI

Operate command line utility to help developers author and publish Ops (functions) on the BSV blockchain.

About Operate

Operate is a toolset to help developers build applications, games and services on top of Bitcoin (SV). It lets you write functions, called "Ops", and enables transactions to become small but powerful programs, capable of delivering new classes of services layered over Bitcoin.

More infomation:

Installation

The CLI is a npm package. It can be installed using npm or yarn.

# Install with npm
> npm install -g @operate/cli

# Install with yarn
> yarn global add @operate/cli

Usage

Getting started

Initialise your working directory. This will generate a .bit environemnt file containing your publishing address and private key.

> operate init .

You will need to fund your publishing wallet before publishing any Ops. From within your working directory, use the wallet command to see your wallet address and balance.

> operate wallet

Getting help

The CLI can list all available commands and provide usage instructions.

# List available commands
> operate --help 

# Get help on any command
> operate [command] --help

Creating/publishing functions

Use the new command to generate a new blank function in the src folder of your working directory.

> operate new my/function -a arg1 -a arg2

Publish a function

When ready (and your publishing wallet is funded), use the publish command to publish the Op to the blockchain.

> operate publish my/function

Writing Ops

An Op is a function written in Lua. A generated function will look like this:

--[[
Document the function
]]--
return function(state, arg1, arg2, ...)
  state = state or {}
  -- Code here
  return state
end

The first argument of the function is always the state. Where a function is called in the first cell of a tape, the state will default to nil so your function should handle that.

The function can receive any number of arguments, as defined by your protocol's parameters. Within the body of the function, those arguments can be used to mutate the state in any way before returning a new, modified state.

The comment block immediately prior to the function should be used to add documentation and examples. Any Markdown formatted text can be placed here.

License

MIT

© Copyright 2019 Chronos Labs Ltd.

Readme

Keywords

none

Package Sidebar

Install

npm i @operate/cli

Weekly Downloads

0

Version

0.0.2

License

MIT

Unpacked Size

15.8 kB

Total Files

16

Last publish

Collaborators

  • libitx