Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/weavevm/ark-lambda
Ark Protocol implementation on top of MEM Lambda
https://github.com/weavevm/ark-lambda
Last synced: 5 days ago
JSON representation
Ark Protocol implementation on top of MEM Lambda
- Host: GitHub
- URL: https://github.com/weavevm/ark-lambda
- Owner: weaveVM
- License: mit
- Created: 2024-08-01T14:58:06.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-10T13:58:56.000Z (2 months ago)
- Last Synced: 2024-09-11T14:26:07.535Z (2 months ago)
- Language: JavaScript
- Size: 35.2 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## About
Ark Lambda is an implementation of the Ark protocol (multichain identity attestation protocol) on top of WeaveVM's MEM Lambda.This protocol uses EVM address (EOA) as master address and control of its Ark (container of addresses). An EOA can link more than one Arweave address to its Ark.
## Deployment
run [./contract-scripts/deploy.js](./contract-scripts/deploy.js) to deploy a contract instance.
#### ark-lambda contract address:
[0xcf12cd22ee7f2cebf632ae1f867faebcb270fbb98de8e3b7321560cd487922ca](https://lambda.pink/state/0xcf12cd22ee7f2cebf632ae1f867faebcb270fbb98de8e3b7321560cd487922ca)
## Interaction
check [./contract-scripts/interaction.js](./contract-scripts/interaction.js) to send a contract interaction.
N.B: with MEM Lambda there is no need to authenticate the EVM caller as it's injected in the MEM Lambda context under `lambda.msg.sender` -- Ark Lambda bidirectional addresses linkage validity is checked by the message body of the Arweave signature which consists of `msg_state_prefix::arweave_owner::evm_eoa` ([check in smart contract](./contract/ark.js#59))
## Server Methods
### server endpoint: https://ark-lambda-31b26d23a766.herokuapp.com/
### 1- GET /arks
```bash
curl -X GET $SERVER_ENDPOINT/arks
```### 2- POST /is-ark-user
```bash
curl -X POST $SERVER_ENDPOINT/is-ark-user \
-H "Content-Type: application/json" \
-H "x-api-key: $ZEALY_API_KEY" \
-d '{
"accounts": {
"wallet": "$EVM_WALLET_ADDR"
}
}'
```## License
This projects is licensed user the [MIT License](./LICENSE)