Deploying smart contracts

Using Gamma CLI

To deploy a smart contract run the command gamma-cli deploy and provide the contract name. You will also need to provide the source code for the contract.

For example, to deploy a contract named MyToken

gamma-cli deploy contract.go -name MyToken -signer user1

Command parameters

gamma-cli deploy <CODE_FILE> -name [CONTRACT_NAME] -signer [ID_FROM_KEYS_JSON]
  • <CODE_FILE> Source file for the smart contract being deployed, normally .go or .js file

  • -name Name of the contract on the blockchain (used by future transaction senders)

  • -signer Account ID of the signer of the deploy transaction (from orbs-test-keys.json)

If you don't provide an explicit contract name with -name, your code file name will be used.

Caveats

Contracts are immutable. If you want to update the code for a contract, deploy it again under a different name.

Remember that Gamma server is an in-memory blockchain. When you stop the server with gamma-cli stop-local all contracts will disappear.

Contracts are currently limited to a single source file. If you have multiple files, combine them into one.