Dual-VM Proxima Test Guide
Background
Our Dual-VM is the critical glue that binds Starcoin’s legacy 1.0 system to our 2.0 upgrade. This glue serves to smoothly transition your assets, onchain operations and all other onchain data from 1.0 to 2.0. It’s a historical mark for Starcoin, and you’re welcome to shape history with us.
The Proxima test network currently incorporates mainnet data migration and a Dual-VM version.
- VM1 represents the legacy VM version.
- VM2 represents the upgraded VM version based on the Move Object model.
Data migration involves fully migrating data from mainnet height 24674819 and placing it within VM1.
The Dual-VM setup supports VM1 and VM2 simultaneously submitting transactions.
- When submitting VM1 transactions, you’ll need to use the old release version to connect to the Proxima network.
- When submitting VM2 transactions, you’ll use the new release version as the node to connect to the Proxima seed network. (TODO)
Objectives
Participating in Proxima-related testing primarily aims to achieve the following goals:
- Test whether VM1’s migrated mainnet asset data is usable.
- Test basic account states and asset transfers to ensure consistency with the mainnet.
- Check if there are any SWAP assets in existing holdings (for SWAP users only).
- Check if there are any NFT assets in existing holdings.
- Test whether contract deployment works normally.
Materials Preparation:
- VM1: Starcoin legacy release version: https://github.com/starcoinorg/starcoin/releases/tag/v1.13.20
- VM2: Dual-VM release version (TODO: will be provided after code merge)
Steps
- Download the release packages for both versions to your local path and name them starcoin1 and starcoin2, respectively. These names will represent the binary files for the different VM versions.
- Prepare two files, starcoin1.sh and starcoin2.sh, with content as follows. Pay close attention to the comments; ensure the binary executed in the commands corresponds to the correct version name (e.g., starcoin1.sh for starcoin1, starcoin2.sh for starcoin2).
#!/bin/bash
function usage() {
echo -e "usage: astarcoin net"
echo -e "net is main, barnard, proxima, halley"
echo -e "to_dir like ~/.starcoin/main, ~/.starcoin/barnard, ~/.starcoin/proxima"
}
function connect_node() {
net=$1
account_dir=$2
cmd=$3
if [[ "$net" != "dev" ]]; then
ws_url="ws://$net.seed.starcoin.org:9870"
if [[ -z "$cmd" ]]; then
echo -e "starcoin --connect $ws_url --local-account-dir $account_dir console"
# NOTE: Change starcoin1.sh to starcoin1 here, and starcoin2.sh to starcoin2 here.
starcoin --connect "$ws_url" --local-account-dir "$account_dir" console
else
echo -e "starcoin --connect $ws_url --local-account-dir $account_dir $cmd"
# NOTE: Change starcoin1.sh to starcoin1 here, and starcoin2.sh to starcoin2 here.
starcoin --connect "$ws_url" --local-account-dir "$account_dir" $cmd
fi
else
echo -e "starcoin -n dev --local-account-dir $account_dir $cmd"
# NOTE: Change starcoin1.sh to starcoin1 here, and starcoin2.sh to starcoin2 here.
starcoin -n dev --local-account-dir $account_dir $cmd
fi
}
if [ $# -lt 2 ]; then
usage
exit 1
fi
net=$1
to_dir=$2
cmd=$3
account_dir="$to_dir/account_vaults"
case $net in
"main" | "barnard" | "proxima" |"halley" | "dev")
connect_node "$net" "$account_dir" "$cmd"
;;
*)
echo "$net not supported"
usage
;;
esac3. Refer to the following commands when launching:
Launch starcoin1 to connect to Proxima
./starcoin1.sh proxima ~/.starcoin/proxima
Launch starcoin2 to connect to Proxima
./starcoin2.sh proxima ~/.starcoin/proxima4. You can import your own mainnet accounts onto Proxima’s VM1 to check if the assets in your imported account match those on the mainnet.
5. You can run SWAP-related commands to view your SWAP information (commands are the same as on the previous mainnet).
6. You can run NFT-related commands to view your NFT information (commands are the same as on the previous mainnet).
Your participation in our Dual-VM testing is an epic contribution to the future of our infrastructure, as your findings and input come together to ensure a seamless upgrade to Starcoin 2.0 and the limit-defying features in store.
Feel free to send in testnet feedback and suggestions via any of our community platforms Linktr.ee
Thank you!
About Starcoin
Starcoin provides the utmost security from the origin via its enhanced PoW consensus and Secure smart contract, using the language of Move. Through layered and flexible interoperability, it optimizes the building of ecosystems such as DeFi, NFTs, Gaming, etc., with higher efficiency and convenience. This process redefines value by empowering every participant in the ecosystem to enjoy the multiplication of values.
Follow Starcoin on social media to stay up to date with all the latest developments.
Website | StarStack | Twitter | Medium | Telegram | Linktr.ee
