https://github.com/wavesplatform/Surfboard
Command line interface for working with waves RIDE language
https://github.com/wavesplatform/Surfboard
waves
Last synced: 7 months ago
JSON representation
Command line interface for working with waves RIDE language
- Host: GitHub
- URL: https://github.com/wavesplatform/Surfboard
- Owner: wavesplatform
- Created: 2019-06-05T12:10:52.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-03T00:40:23.000Z (over 2 years ago)
- Last Synced: 2025-05-04T11:04:53.808Z (7 months ago)
- Topics: waves
- Language: TypeScript
- Homepage:
- Size: 1.79 MB
- Stars: 10
- Watchers: 3
- Forks: 3
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-waves - surfboard - CLI to work with the Ride language and testing. (Frameworks and tools / The Ride programming language)
README
Surfboard
=========
Surfboard is a command line interface for working with RIDE programming language. Surfboard allows to compile RIDE scripts, deploy and run tests.
Surfboard requires `nodejs`.
The full manual how to use different tools for Waves dApps you can find [here](https://blog.wavesplatform.com/how-to-build-deploy-and-test-a-waves-ride-dapp-785311f58c2)
[](https://oclif.io)
[](https://npmjs.org/package/@waves/ride-cli)
[](https://npmjs.org/package/@waves/ride-cli)
[](https://github.com/wavesplatform/ride-cli/blob/master/package.json)
* [Installation](#installation)
* [Usage](#usage)
* [Commands](#commands)
# Installation
Surfboard is distributed as npm package. To install run `npm i -g @waves/surfboard`
# Usage
For all commands surboard tries to use `surfboard.config.json`. If it is not present, surfboard falls back to global config. You can change global config by using `config:change` with `-g` flag
```sh-session
$ npm install -g @waves/surfboard
$ surfboard COMMAND
running command...
$ surfboard (-v|--version|version)
@waves/surfboard/2.3.0 darwin-x64 node-v17.0.1
$ surfboard --help [COMMAND]
USAGE
$ surfboard COMMAND
...
```
# Commands
* [`surfboard compile FILE`](#surfboard-compile-file)
* [`surfboard config:change KEY VALUE`](#surfboard-configchange-key-value)
* [`surfboard config:show [KEY]`](#surfboard-configshow-key)
* [`surfboard help [COMMAND]`](#surfboard-help-command)
* [`surfboard init`](#surfboard-init)
* [`surfboard repl`](#surfboard-repl)
* [`surfboard run FILE`](#surfboard-run-file)
* [`surfboard test [FILE]`](#surfboard-test-file)
## `surfboard compile FILE`
compile ride file
```
USAGE
$ surfboard compile FILE
ARGUMENTS
FILE path to ride file
OPTIONS
--fullInfo outputs JSON with additional info. Such as complexity, size etc.
```
_See code: [src/commands/compile.ts](https://github.com/wavesplatform/surfboard/blob/v2.3.0/src/commands/compile.ts)_
## `surfboard config:change KEY VALUE`
change config
```
USAGE
$ surfboard config:change KEY VALUE
ARGUMENTS
KEY config option key in dot notion
VALUE config option value
OPTIONS
-g, --global change global config
```
_See code: [src/commands/config/change.ts](https://github.com/wavesplatform/surfboard/blob/v2.3.0/src/commands/config/change.ts)_
## `surfboard config:show [KEY]`
show config
```
USAGE
$ surfboard config:show [KEY]
ARGUMENTS
KEY Config option key in dot notation
OPTIONS
-g, --global Show global config
```
_See code: [src/commands/config/show.ts](https://github.com/wavesplatform/surfboard/blob/v2.3.0/src/commands/config/show.ts)_
## `surfboard help [COMMAND]`
display help for surfboard
```
USAGE
$ surfboard help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
```
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v2.1.6/src/commands/help.ts)_
## `surfboard init`
initialize new Ride project
```
USAGE
$ surfboard init
```
_See code: [src/commands/init.ts](https://github.com/wavesplatform/surfboard/blob/v2.3.0/src/commands/init.ts)_
## `surfboard repl`
run ride repl
```
USAGE
$ surfboard repl
OPTIONS
--env=env which environment should be used for test
```
_See code: [src/commands/repl.ts](https://github.com/wavesplatform/surfboard/blob/v2.3.0/src/commands/repl.ts)_
## `surfboard run FILE`
run js script with with blockchain context
```
USAGE
$ surfboard run FILE
ARGUMENTS
FILE path to script
OPTIONS
--env=env which environment should be used
--variables=variables env variables can be set for usage in script via env.{variable_name}. E.g.: MY_SEED="seed
phraze",DAPP_ADDRESS="xyz"
```
_See code: [src/commands/run.ts](https://github.com/wavesplatform/surfboard/blob/v2.3.0/src/commands/run.ts)_
## `surfboard test [FILE]`
run test
```
USAGE
$ surfboard test [FILE]
ARGUMENTS
FILE path to test file
OPTIONS
-v, --verbose logs all transactions and node responses
--env=env which environment should be used for test
--variables=variables env variables can be set for usage in tests via env.{variable_name}. E.g.: MY_SEED="seed
phraze",DAPP_ADDRESS=xyz, AMOUNT=1000
```
_See code: [src/commands/test.ts](https://github.com/wavesplatform/surfboard/blob/v2.3.0/src/commands/test.ts)_