Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/automata-network/automata
Automata Network is a modular attestation layer that extends machine trust to Ethereum with TEE Coprocessors.
https://github.com/automata-network/automata
Last synced: about 1 month ago
JSON representation
Automata Network is a modular attestation layer that extends machine trust to Ethereum with TEE Coprocessors.
- Host: GitHub
- URL: https://github.com/automata-network/automata
- Owner: automata-network
- License: apache-2.0
- Created: 2021-02-10T06:11:43.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-08-25T06:28:35.000Z (over 2 years ago)
- Last Synced: 2024-08-03T01:21:05.934Z (4 months ago)
- Language: Rust
- Homepage: https://ata.network
- Size: 9.41 MB
- Stars: 95
- Watchers: 16
- Forks: 19
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- Awesome-SGX-Open-Source - https://github.com/automata-network/automata
- awesome-tee-blockchain - automata-network/automata - Automata Network is a modular attestation layer that extends machine trust to Ethereum with TEE Coprocessors. (Repositories / Rust)
README
[![Rust](../../workflows/Rust/badge.svg)](../../actions?query=workflow%3ARust+branch%3Amain) [![Docker](../../workflows/Docker/badge.svg)](../../actions?query=workflow%3ADocker+branch%3Amain)
# Automata## Build
On Ubuntu/Debian (or similar distributions on [WSL](https://docs.microsoft.com/en-us/windows/wsl/about)), install the following packages:
```bash
sudo apt-get update
sudo apt-get install -y build-essential pkg-config llvm-dev libclang-dev clang libssl-dev curl
```Install Rust through [rustup.rs](https://rustup.rs):
```bash
curl https://getsubstrate.io -sSf | bash -s -- --fast
```Initialize your Wasm Build environment:
```
./scripts/init.sh
```Build Wasm and native code:
```bash
cargo build --release --features finitestate
```## Run
### Local Two-node Testnet
If you want to see the multi-node consensus algorithm in action locally, then you can create a local testnet. You'll need two terminals open. In one, run:
```bash
./target/release/automata --chain=local --alice -d /tmp/alice
```
And in the other, run:
```bash
./target/release/automata --chain=local --bob -d /tmp/bob --port 30334 --bootnodes '/ip4/127.0.0.1/tcp/30333/p2p/'
Ensure you replace `ALICE_BOOTNODE_ID_HERE` with the node ID from the output of the first terminal.
```You can muck around by heading to https://polkadot.js.org/apps and choose "Local Node" from the Settings menu. Make sure you have the following type definitions saved in the Settings->Developer page:
```json
{
"ResourceId": "[u8; 32]",
"DepositNonce": "u64",
"ProposalVotes": {
"votes_for": "Vec",
"votes_against": "Vec",
"status": {
"_enum": [
"Initiated",
"Approved",
"Rejected"
]
}
},
"BridgeTokenId": "U256",
"BridgeChainId": "u8",
"VestingPlan": {
"start_time": "u64",
"cliff_duration": "u64",
"total_duration": "u64",
"interval": "u64",
"initial_amount": "Balance",
"total_amount": "Balance",
"pub vesting_during_cliff": "bool"
}
}
```## License
[Apache 2.0](./LICENSE)