This repository is a virtual control environment for the FAssets closed beta participants. It will be updated for each new closed beta scenario, allowing users to pull the latest version to set up their environment.
IMPORTANT:_ All actions must be executed from this repository directory using bash (*.sh) scripts without changing the directory.
ℹ️ All actions should be executed from this directory; navigating elsewhere is unnecessary.
💻 Linux operating system preferred. macOS also may work, but use at your own risk.
⌨️ All communication regarding the scenario schedule will be communicated on Telegram.
🔢 Use the yarn
version that is included with this tool.
🧵 Docker to run the MySQL database.
- Download and install Docker Desktop.
- Start the MySQL server as a Docker container
docker compose up -d
and keep it running every time you run the scenario. - Enter the MySQL as root with password root (default) and execute the
init.mysql.sql
file to create thefassetbot
user and set permissions. 4.Set up the databaseuser
andpassword
in thesecrets.json
by adding this block to the list and changing the password to the one you use:"database": { "user": "fassetbot", "password": "my1beta2password3" }
- Please change the value of
extends
tocoston-bot-mysql.json
in theconfig.json
file.
Follow the steps below to set up your local environment for the first time.
If you have set the environment before, go to Scenario Setup.
-
Clone the repository end and enter the folder
git clone --recurse-submodules https://github.com/flare-foundation/fasset-closed-beta.git cd fasset-closed-beta
-
If you don't have the
secrets.json
file set up, see Secrets guide; otherwise, follow the next step; -
Place your
secrets.json
file in thefasset-closed-beta
folder under the namesecrets.json
; -
Use these values in the
secrets.json
file for thenative_rpc
andindexer
under theapiKey
key:"native_rpc": "AavSehMLhcgz3crQHH5YJ3Rt8GMQGdV9aViGilADXGnTcjij"
"indexer": "123456"
-
Obtain the API key via registering on Telegram - follow the Telegram guide;
-
Go to Agent Owner Registry smart contract, connect via Metamask with your
management.address
from thesecrets.json
, and callsetWorkAddress
with yoursecrets.owner.native.address
as an argument. Remember that this is a different smart contract from the official docs for the FAssets Open Beta.
If you have set up the environment before, check if the testBTC
is set up in the secrets.json
file. If not, follow the guide on set up testBTC.
For each new scenario, follow the steps below:
- Initialize repository:
./init.sh
- Ensure that the configuration is correct and that the output is green.
./check.sh
- Continue using the Scenario Testing Tool and join the scenario there.
- If you need to answer some questions about the Scenario Testing Tool, refer to this document or ask on Telegram from one of the Flare Developer Relations engineers.
If you do not have the secrets.json
file, you should follow the below steps:
- Make sure you came here from First Time Setup,
- Generate a management address - this is an EVM address that will control your agent for the duration of the closed/open beta,
- Obtain
secrets.json
by running:./gen-secrets.sh <management_address>
- Fund your
secrets.owner.native.address
andsecrets.user.native.address
with some CFLR from the this Faucet, and some testXRP from the this faucet.
To register and get your closed beta API key, do the following:
- Go to our FAsset Telegram bot,
- Start the bot by running
/start
, then clickRegister
, and input the required info, including your user address that isuser.native.address
from thesecrets.json
file, - Wait for us to confirm your registration info,
- Run (send message)
/events
, clickSubscribe to Events
, and receive your API key. - To subscribe to receiving agent events on Telegram, put the API key from the last step in the local
config.json
file underapiKey
in the currentfasset-closed-beta
directory.
- Move the existing
secrets.json
file tosecrets.json.backup
mv secrets.json secrets.json.backup
- Generate a new one with the same management address that you have right now
./gen-secrets.sh MANAGEMENT_ADDRESS
- Rename the new secrets.json
mv secrets.json secrets.json.new
- Rename back the original the
secrets.json
mv secrets.json.backup secrets.json
- Copy the
testBTC
blocks from the from thesecrets.json.new
fromowner
anduser
to thesecrets.json
accordingly - Remove the
secrets.json.new
file