Files
zeekay 121a85162f k8s(financial): bump lux-financial to v1.2.0
Expanded solutions (10 new industries) and products (Compliance & Data
section) to cover full docs.lux.financial capability surface.
2026-04-20 22:33:19 -07:00

65 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# Switch the C-Chain EVM implementation.
# Usage: ./switch-evm.sh [evm|evmgpu|revm|cpp]
set -e
CCHAIN_VMID="mgj786NP7uDwBCcq6YwThhaN8FLyybkCa4zBWTQbNgmK6k9A6"
PLUGIN_DIR="${HOME}/.lux/plugins/current"
case "${1:-}" in
evm|go|default)
TARGET="${HOME}/work/lux/evm/build/evm"
LABEL="Go EVM (geth/coreth, sequential)"
;;
evmgpu|gpu|parallel)
TARGET="${HOME}/work/lux/evmgpu/build/evmgpu"
LABEL="Go EVM-GPU (Block-STM parallel)"
;;
revm|rust|reth)
TARGET="${HOME}/work/hanzo/evm/target/release/revm"
LABEL="Rust EVM (reth/revm)"
;;
cpp|evmone|c++)
echo "C++ EVM requires EVMC→ZAP adapter (not yet available as standalone plugin)"
echo "Use the C++ benchmark directly: cd ~/work/luxcpp/evm/build && ./bin/evm-bench-block"
exit 1
;;
status|"")
CURRENT=$(readlink "${PLUGIN_DIR}/${CCHAIN_VMID}" 2>/dev/null || echo "binary (not symlinked)")
echo "Current C-Chain EVM: ${CURRENT}"
echo ""
echo "Available:"
echo " evm Go EVM (geth/coreth, sequential)"
echo " evmgpu Go EVM-GPU (Block-STM parallel)"
echo " revm Rust EVM (reth/revm)"
echo " cpp C++ EVM (evmone, benchmark only)"
echo ""
echo "Usage: $0 <evm|evmgpu|revm|cpp>"
exit 0
;;
*)
echo "Unknown EVM: $1"
echo "Options: evm, evmgpu, revm, cpp"
exit 1
;;
esac
if [ ! -f "${TARGET}" ]; then
echo "Binary not found: ${TARGET}"
echo "Build it first."
exit 1
fi
# Back up current binary if it's not a symlink
if [ -f "${PLUGIN_DIR}/${CCHAIN_VMID}" ] && [ ! -L "${PLUGIN_DIR}/${CCHAIN_VMID}" ]; then
mv "${PLUGIN_DIR}/${CCHAIN_VMID}" "${PLUGIN_DIR}/${CCHAIN_VMID}.bak"
echo "Backed up original binary"
fi
ln -sf "${TARGET}" "${PLUGIN_DIR}/${CCHAIN_VMID}"
echo "C-Chain EVM switched to: ${LABEL}"
echo " ${TARGET}"
echo ""
echo "Restart luxd for changes to take effect."