Skip to content

Latest commit

 

History

History
86 lines (62 loc) · 2.5 KB

README.md

File metadata and controls

86 lines (62 loc) · 2.5 KB

Switchboard
Solana Functions Template

Discord Twitter

Switchboard Functions

Switchboards V3 architecture allows users to permissionlessly build and run any code you like and we attest the output is from your code.

Table of Content

Setup

Edit the Makefile with your docker image name. Make sure to include your docker organization if publishing to the repository (For example: switchboard/my-function).

Build

Run the following command to build the docker image with your custom function

make

You should see a measurement.txt in the root of the project containing the base64 encoding of the MRENCLAVE measurement. You will need to re-generate this measurement anytime your source code or dependencies change.

Publishing

make publish

Integration

To get started, you will first need to:

  1. Build your docker image and upload to a Docker/IPFS repository
  2. Generate your MRENCLAVE measurement

Next, you will need to create a Function account for your given MRENCLAVE measurement. Head over to app.switchboard.xyz and create a new function with your given repository and MRENCLAVE measurement.

Alternatively, create a function with the Switchboard CLI:

npm i --global @switchboard-xyz/cli

sbv2 solana function create CkvizjVnm2zA5Wuwan34NhVT3zFc7vqUyGnA6tuEF5aE \
  --name "My Function" \
  --metadata "Basic binance oracle with TWAP" \
  --fundAmount 0.25 \
  --schedule "30 * * * * *" \
  --container switchboardlabs/basic-oracle-function \
  --keypair ~/.config/id/solana.json

# or fund an existing function
sbv2 solana function fund $MY_FUNCTION_PUBKEY \
  --fundAmount 0.25 \
  --keypair ~/.config/id/solana.json

More Info

See docs.switchboard.xyz to get started.