Die Identität der Selbstbehandlung ist eine lebenslange tragbare Identität für jede Person, Organisation oder Sache, die nicht von einer zentralisierten Behörde abhängt und niemals weggenommen werden kann. Selbstsäure-Identität ist ein Zwei-Parteien-Beziehungsmodell, wobei kein Dritter zwischen Ihnen und der Organisation kommt, der jetzt Ihren „Kollegen“ betrachtet.
SSI ist heute mit DIDs und überprüfbaren Anmeldeinformationen möglich.
DID ist eine neue Art von weltweit eindeutiger Kennung (URI), für die keine zentralisierte Registrierungsbehörde erforderlich ist, da die Kontrolle des Kennung mithilfe der Kryptographie nachgewiesen werden kann. Sie können es sich als eines der Kennungen vorstellen, mit denen wir besser vertraut sind - einen Domain -Namen oder eine Telefonnummer -, ohne einen zentralen Registrar wie ICANN oder NANP.
Überprüfbarer Anmeldeinformationen (VC) ist das neue Format für interoperable digitale Anmeldeinformationen, die von der Arbeitsgruppe W3C überprüfbare Schadensfälle definiert werden. Überprüfbare Anmeldeinformationen entsprechen dem überprüfbaren Datenmodell des W3C und ermöglichen die Interaktionen mit einem Muster, das als Vertrauensdreieck bezeichnet wird:
Emittenten erstellen Anmeldeinformationen, normalerweise indem JSON -Dokumente auf besondere Weise digital signiert werden. Inhaber speichern sie und Verifungsanlagen bitten um Beweise, die auf der Grundlage von ihnen basieren. Überprüfbare Präsentationen, die Inhaber für Überprüfungen vorstellen, sind Beweispakete - weder Anmeldeinformationen oder Daten, die aus einer oder mehreren Anmeldeinformationen abgeleitet werden, von Inhabern gebaut, um die Anforderungen eines Verifizierers zu erfüllen. Verifikatoren lernen mit Sicherheit, welche Emittenten etwas bestätigt haben, indem sie digitale Signaturen gegen ein überprüfbares Datenregister (in der Regel eine Blockchain) überprüfen.
React MSDK wurde mit Evernym Mobile SDK als widdetem kompatibles React Native -Paket erstellt, mit dem das schnelle Aufbau von maßgeschneiderten digitalen Geldbörsen (vollständig unter Ihrer Kontrolle) eine Inhaber -Seite im Modell für überprüfbare Anmeldeinformationen darstellt.
Mit React-nativem mobilem SDK kann Ihre Anwendung:
Die Identitäts-Wallet-App ermöglicht unzählige Anwendungsfälle, einschließlich des Nachweisens, dass Sie über ein bestimmtes rechtliches Alter sind, ohne Ihr genaues Geburtsdatum zu enthüllen, medizinische Unterlagen privat und sicher zu teilen und das Benutzername-Password-Konzept ein für alle Mal zu beseitigen.
Für die Prüfung Ihrer Identitätsbrieftasche können Sie Verity SDK verwenden, die die entgegengesetzte Kommunikationsseite darstellt.
In den SDK -Repositorys von Evernym Mobile SDK und Verity finden Sie viele nützliche Informationen zum Aufbau von Identitätsbrieftaschen und überprüfbaren Anmeldeinformationen.
Um ein neues Projekt zu erstellen, müssten Sie die folgenden Schritte durchführen.
Erstellen Sie ein neues React Native Project. Wir werden es awesomeMsdkProject für diesen Leitfaden nennen.
npx react-native init awesomeMsdkProject --version 0.65.1 Hinweis : Sie müssen dieselbe Version von react-native verwenden, wie im Abschnitt peerDependencies von package.json für das Evernym React-native-SDK angegeben. Die derzeit empfohlene React-Nat-Version beträgt 0.65.1 . Durch die Verwendung einer anderen Version gehen Sie das Risiko ein, Probleme mit SDK zu haben.
Um SDK in Ihre neue Anwendung aufzunehmen, müssen Sie seine Abhängigkeiten einrichten.
Ersetzen Sie den Abschnitt Abhängigkeiten, der nur @evernym/react-native-white-label-app Abhängigkeit von Ihrem package.json hinterlassen.
"dependencies" : {
"@evernym/react-native-white-label-app" : " https://gitlab.com/evernym/mobile/react-native-white-label-app.git " ,
}, Native Abhängigkeiten sollten in App -Abhängigkeiten eingesetzt werden (siehe Problem). Sie sind in SDK als Peer -Abhängigkeiten aufgeführt.
Fügen Sie alle Peer-Abhängigkeiten von @evernym/react-native-white-label-app in den Abschnitt dependencies Ihres App- package.json hinzu.
"dependencies" : {
"@react-native-community/async-storage" : " x " ,
...
"react-native-zip-archive" : " x " ,
"react-native" : " 0.65.1 " ,
"rn-fetch-blob" : " x " ,
...
}, Fügen Sie alle devDependencies von @evernym/react-native-white-label-app in den Abschnitt devDependencies in Ihrem App- package.json .
"devDependencies" : {
...
"copyfiles" : " x "
}, Fügen Sie Ihren scripts Ihres App package.json den folgenden Befehl hinzu. JSON:
"scripts" : {
...
"evernym-sdk:configure" : " yarn --cwd node_modules/@evernym/react-native-white-label-app run configure "
}, In diesem Befehl werden die erforderlichen Module für zukünftige Anwendungsanpassungen über evernym-sdk hinzugefügt.
Jetzt können Sie alle Abhängigkeiten installieren und die automatische Konfiguration durchführen, die folgenden Befehle in Ihrem Projektverzeichnis ausführen:
yarn
yarn evernym-sdk:configure Dadurch werden alle Abhängigkeiten installiert und die erforderlichen Module in das awesomeMsdkProject/app/evernym-sdk Verzeichnis hinzugefügt.
Entfernen Sie die Standard App.js und geben Sie Folgendes in index.js ein:
import * as EvernymSdk from '@evernym/react-native-white-label-app' ;
import { name as appName } from './app.json' ;
EvernymSdk . createApp ( appName ) ; Navigieren Sie zu app/evernym-sdk/provision.js -Datei und definieren Sie die Umgebung, die von Ihrer Anwendung und Funktion verwendet werden soll, um Bereitstellungs-Token zu erhalten.
Beachten Sie , dass die Anwendungsumgebung mit der Umgebung übereinstimmen muss, in der der Sponsor -Server registriert ist.
Beispielsweise muss die AnwendungDEMOverwenden, wenn der Sponsor -Server in derDEMO-Umgebung registriert wurde.
DEFAULT_SERVER_ENVIRONMENT - Der Name der zu verwendenden Umgebung.
Es gibt mehrere vordefinierte Umgebungen:
// use default combination - DEMO for debug and PROD for releases builds
export const DEFAULT_SERVER_ENVIRONMENT = null
// use Demo env
// Agency: `https://agency.pps.evernym.com` and `Sovrin Staging Net`
export const DEFAULT_SERVER_ENVIRONMENT = 'DEMO'
// use Production env
// Agency: `https://agency.evernym.com` and `Sovrin Live Net`
export const DEFAULT_SERVER_ENVIRONMENT = 'PROD'
// use Staging env
// Agency: `https://agency.pstg.evernym.com` and `Sovrin Staging Net`
export const DEFAULT_SERVER_ENVIRONMENT = 'STAGING' Sie können Ihre benutzerdefinierte Umgebung auch mithilfe einer Kombination aus SERVER_ENVIRONMENTS und Standard -Variablen DEFAULT_SERVER_ENVIRONMENT angeben und verwenden:
export const SERVER_ENVIRONMENTS = {
'CUSTOM' : {
agencyUrl : 'ahency_url' ,
agencyDID : 'did' ,
agencyVerificationKey : 'verkey' ,
poolConfig : [ { key : 'staging' , genesis : 'genesis_transactions' } ] ,
}
}
export const DEFAULT_SERVER_ENVIRONMENT = 'CUSTOM' GET_PROVISION_TOKEN_FUNC - Die Funktion wird aufgerufen, um einen Agentenbereitstellungs -Token für Ihre Anwendung zu erhalten.
/// example
export const GET_PROVISION_TOKEN_FUNC = async (): [error: string | null, token: string | null] => {
try {
// call your sponsor server endpoint
const response = fetch_api(your_endpoint)
// process response
// return result in format [error, token]
return [null, response.token]
} catch (error) {
return [error.message, null]
}
}
Glückwunsch! Jetzt haben wir einen Teil der Anwendung vorbereitet. Als die nächsten Schritte müssen wir den Build für die Zielplattformen konfigurieren.
Hinweis : Zu diesem Zeitpunkt sollten Sie bereits Abschnitt zur Basis -App -Konfiguration abgeschlossen haben.
Um das Erstellen Ihrer Anwendung für eine Android -Plattform zu konfigurieren, finden Sie im Dokument.
Hinweis : Zu diesem Zeitpunkt sollten Sie bereits Abschnitt zur Basis -App -Konfiguration abgeschlossen haben.
Um das Erstellen Ihrer Anwendung für eine iOS -Plattform zu konfigurieren, finden Sie im Dokument.
Weitere Informationen finden Sie in der Dokumentation, um einen Überblick über die verfügbaren Konfigurationsoptionen zu erhalten.
Diese Bemühungen sind Teil eines Projekts, das vom Horizon 2020-Forschungs- und Innovationsprogramm der Europäischen Union im Rahmen des Grant-Abkommens Nr. 871932 durch unsere Teilnahme an der Essif-Lab finanziert wurde, die darauf abzielt, die umfassende Einführung der selbstsäugigen Identität zum Nutzen aller zu fördern.