Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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)