Skip to content

Commit b5e3887

Browse files
committed
start with docs
1 parent 7511172 commit b5e3887

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,48 @@
11
# oracle-example
22
DIMO Connection Oracle example repository
3+
4+
## Key Concepts
5+
6+
Recommended reading: [DIMO Developer docs](https://docs.dimo.org/developer-platform).
7+
8+
### DIMO Oracle
9+
10+
An application that exposes an API and performs data streaming from your data source to a DIMO Node.
11+
The API is used for a frontend to handle onboarding and removal. The data streaming pulls data however you need it to
12+
from your systems and then forwards it via an http POST to a DIMO Node. This app also does minting of necessary on-chain records.
13+
This repository is an example in Golang of a DIMO Oracle, which you can base your solution on and just replace necessary parts.
14+
15+
### Connection License
16+
17+
This is an on-chain object that basically represents your Oracle on-chain. It is required to be able to send data to a DIMO
18+
Node and run an Oracle.
19+
20+
### Vehicle NFT
21+
22+
This represents the vehicle on-chain. It stores basic information such as the owner wallet address as well as the Make Model Year.
23+
You can query for them using our Identity-API - [docs](https://docs.dimo.org/developer-platform/api-references/identity-api)
24+
25+
When you onboard a vehicle, the oracle will mint a vehicle NFT as part of the process. The two key inputs are the definition_id
26+
and the owner 0x address.
27+
28+
### Synthetic Device NFT
29+
30+
This represents the software connection between the Vehicle NFT and the Connection, eg. your oracle.
31+
When the connection is removed, this should be burned. [docs](https://docs.dimo.org/developer-platform/api-references/identity-api/nodes-and-objects/syntheticdevice#definition)
32+
Every payload is signed by the Synthetic Device. We have examples of this in the repository.
33+
34+
### Login with DIMO (LIWD)
35+
36+
An easy way to handle for DIMO users to login with DIMO via an auth redirect flow. You will likely need to implement this
37+
to handle the login for the vehicle onboarding. If you're doing Fleet onboarding, where a single user or few users manage
38+
many vehicles, your UI should reflect that. If you're building for retail/consumer users, you'll want onboarding to be centered
39+
around a single or few vehicles with explicit ownership verification mechanisms, eg. maybe you do an OAuth flow with your system
40+
or require the user to input something specific to that vehicle or PIN code etc.
41+
42+
# Implementing your Oracle
43+
44+
1. Register an account on https://console.dimo.org/
45+
2. Generate an API key and add your preferred redirect URI
46+
3. Create your Connection License. In the future this will be in the dev console but for now provide your ClientID to your developer relations person at DIMO.
47+
4. Obtain the required Synthetic Device Minting roles - engineers at DIMO will do this for you.
48+
5.

0 commit comments

Comments
 (0)