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

https://github.com/iotaledger/uni-resolver-driver-iota


https://github.com/iotaledger/uni-resolver-driver-iota

Last synced: 13 days ago
JSON representation

Awesome Lists containing this project

README

          

[![Issues][issues-shield]][issues-url]
[![Apache 2.0 license][license-shield]][license-url]
[![Discord][discord-shield]][discord-url]
[![StackExchange][stackexchange-shield]][stackexchange-url]
[![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)](https://hub.docker.com/r/iotaledger/uni-resolver-driver-iota)

# Universal Resolver Driver for IOTA

This is a driver implementation of [Universal Resolver](https://github.com/decentralized-identity/universal-resolver/) for the `did:iota` identifier.

## Specifications

[IOTA DID Method Specification v1.0](https://wiki.iota.org/identity.rs/references/specifications/iota-did-method-spec/)

## Example DIDs

[did:iota:0xf4d6f08f5a1b80dd578da7dc1b49c886d580acd4cf7d48119dfeb82b538ad88a](https://explorer.iota.org/mainnet/addr/iota1pr6dduy0tgdcph2h3knacx6fezrdtq9v6n8h6jq3nhlts26n3tvg5jwjgka)

## Build and Run (Docker)

```bash
docker build . -t iotaledger/uni-resolver-driver-iota
```

```bash
docker run -p 8080:8080 iotaledger/uni-resolver-driver-iota
```

```bash
curl -X GET localhost:8080/1.0/identifiers/
```

## Build and Run (Rust)

```bash
cargo run --release
```

## Network Configuration

The resolver supports the 3 official IOTA networks as well as a custom one:

- Mainnet
- Testnet
- Devnet
- Custom

### Environment Variables

The following environment variables are used to configure the network:

| Variable | Required | Description |
|----------|----------|-------------|
| `NETWORK` | Yes | Network type: `"mainnet"`, `"testnet"`, `"devnet"`, or `"custom"` |
| `IOTA_CUSTOM_NODE_ENDPOINT` | Only for custom network | The URL of your custom node |
| `IOTA_CUSTOM_IDENTITY_PKG_ID` | Only for custom network | The identity package ID for your custom network |

Note: at least one network must be configured.

### Multiple Network Configuration

You can specify multiple networks by providing a comma-separated list in the `NETWORK` environment variable. Examples are provided below.

### Example

#### Single Network

```bash
NETWORK=testnet
```

#### Multiple Networks

```bash
NETWORK=testnet,devnet
```

#### Custom Network

```bash
NETWORK=custom
IOTA_CUSTOM_NODE_ENDPOINT=https://your-custom-node-endpoint.com
IOTA_CUSTOM_IDENTITY_PKG_ID=0x4bbd377239914fced5c1207a28443064050e880a1234858904e0ce31a5a9768c
```

### Custom Network with Multiple Clients

```bash
NETWORK=custom,testnet
IOTA_CUSTOM_NODE_ENDPOINT=https://your-custom-node-endpoint.com
IOTA_CUSTOM_IDENTITY_PKG_ID=0x4bbd377239914fced5c1207a28443064050e880a1234858904e0ce31a5a9768c
```

This will create two identity clients, one for the custom network and one for the testnet network.

## Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

1. Fork the Project
1. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
1. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
1. Push to the Branch (`git push origin feature/AmazingFeature`)
1. Open a Pull Request

(back to top)

## License

Distributed under the Apache License. See `LICENSE` for more information.

(back to top)

[discord-shield]: https://img.shields.io/badge/Discord-9cf.svg?style=for-the-badge&logo=discord
[discord-url]: https://discord.iota.org
[issues-shield]: https://img.shields.io/github/issues/iotaledger/template.svg?style=for-the-badge
[issues-url]: https://github.com/iotaledger/template/issues
[license-shield]: https://img.shields.io/github/license/iotaledger/template.svg?style=for-the-badge
[license-url]: https://github.com/iotaledger/template/blob/main/LICENSE
[stackexchange-shield]: https://img.shields.io/badge/StackExchange-9cf.svg?style=for-the-badge&logo=stackexchange
[stackexchange-url]: https://iota.stackexchange.com