Smart contracts for the Exochain project; a decentralized MBSE global configuration management tool.
Exochain is a private blockchain based project to increase trust in stakeholders and processes involved in early design phases of concurrent engineering - in designing space missions. Smart contract in this project proposes digital identification of stakeholders, abstract representation of assets as well as concrete implementations and business logic guided by ECSS E-TM-10-25a.
A full deployment is available here: https://exochain-ui.dev.parametry.space
disclaimers:
- you need a metamask wallet to connect to the Exochain DApp
- this is a dev space, everything might be erased and redeployed
This work is released under the GNU Lesser General Public License v3.
This projects use the Hardhat framework to develop smart contracts. See full guide for Hardhat projects
npm install --save-dev hardhat
npx hardhat compile
npx hardhat test
npx hardhat node
npx hardhat run scripts/deploy.ts --network localhost
Typically, for a decentralized application (Dapp), the bytecode is submitted by the DApp to the blockchain with user signatures and parameters. In order to avoid DApps to know if that is the latest bytecode version that can interact with other on-chain smart contracts, we deploy the byte code on the backend database and serve them through the Exochain API.
cp deploy_bytecodes.sh.sample deploy_bytecodes.sh
# Then edit deploy_bytecodes.sh with the corresponding API_KEY
bash deploy_bytecodes.sh