Khala parachain repo.
cargo build --profile production
cargo build --profile testnet
cargo build --profile production -p khala-parachain-runtime
Enable on-chain-release-build
would reduce ~100 KB
cargo build --profile production --features on-chain-release-build -p khala-parachain-runtime
You have to install LLVM from Homebrew because Xcode bundled doesn't have WASM target
brew install llvm
As formula note shows binaries locate at /opt/homebrew/opt/llvm/bin
(You can revisit it via brew info llvm
, beware Intel Mac has different location)
Make alias for ar
and ranlib
to ensure use custom installed LLVM instead of Xcode bundled
cd /opt/homebrew/opt/llvm/bin
ln -s llvm-ar ar
ln -s llvm-ar ranlib
NOTE: You have to re-do this step after you upgrade or reinstall LLVM
Before compiling khala-node
, add custom installed LLVM to $PATH
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
- Build
cargo build --release
- Prepare binaries
You can get latest Polkadot Linux release from https://github.com/paritytech/polkadot/releases
For macOS, you have to build from source
cp <path-to-polkadot> ./polkadot-launch/bin/
cp ./target/release/khala ./polkadot-launch/bin/
- Start a local test net
cd polkadot-launch
yarn
yarn start ./thala_dev.config.json
- (Optional) Inject session key.
Only required for
*_local.config.json
Please make sure to use the correct session key json file.
cd scripts/js
yarn
KEY_FILE=session_key.json.example node insert_session_key.js