/example-move

Solana example which runs a Libra Move program

Primary LanguageJavaScriptMIT LicenseMIT

Build status

Move on Solana

  • Note: Move on Solana is under construction and therefore this example project is not currently functioning. Please use it as a learning tool or a reference until construction is complete

This project demonstrates how to use the Solana Javascript API to build, deploy, and interact with Libra Move programs on the Solana blockchain.

There is a wealth of information about Libra and the Move language on the Libra developers page

What's here

The project comprises of:

  • A LibraPay library to interact with the on-chain Move loader and virtual machine to create Genesis accounts, and mint and pay Libra coins: ./src/program
  • Move programs used to mint and pay Libra coins: ./programs
  • Command-line front-end that demonstrates how to use the LibraPay library: src/cli/

Getting started

First fetch the npm dependencies, including @solana/web3.js, by running:

$ npm install

Select a Network

The example connects to a local Solana cluster by default.

To enable on-chain Move loader/VM logs, set the RUST_LOG environment variable:

$ export RUST_LOG=solana_runtime::system_instruction_processor=trace,solana_runtime::message_processor=info,solana_bpf_loader=debug,solana_rbpf=debug,solana_move_loader_program=debug

To start a local Solana cluster run:

$ npm run localnet:update
$ npm run localnet:up

Solana cluster logs are available with:

$ npm run localnet:logs

For more details on working with a local cluster, see the full instructions.

Alternatively to connect to the public testnet, export LIVE=1 in your environment. By default LIVE=1 will connect to the beta testnet. To use the edge testnet instead, define `export CHANNEL=edge' in your environment (see url.js for more)

Run the Command-Line Front End

$ npm run start

Customizing the Program

To customize, make changes to the files under /src

Now when you run npm run start again you should see the results of your changes.