الهوية ذات السيادة الذاتية هي هوية محمولة مدى الحياة لأي شخص أو منظمة أو شيء لا يعتمد على أي سلطة مركزية ولا يمكن إزالته أبدًا. الهوية ذاتية الذكاء هي نموذج علاقة ثنائية الحزبين ، مع عدم وجود طرف ثالث بينك وبين المؤسسة ، يعتبر الآن "نظيرك".
SSI ممكن اليوم مع DIDS وبيانات الاعتماد القابلة للتحقق.
DIS هو نوع جديد من المعرف الفريد عالميا (URI) لا يتطلب سلطة تسجيل مركزية لأنه يمكن إثبات التحكم في المعرف باستخدام التشفير. يمكنك التفكير في الأمر كأحد المعرفات التي نعرفها أكثر - اسم مجال أو رقم هاتف - دون مسجل مركزي مثل ICANN أو NANP.
إن بيانات الاعتماد القابلة للتحقق (VC) هي التنسيق الجديد لبيانات الاعتماد الرقمية القابلة للتشغيل البيني التي يتم تحديدها بواسطة مجموعة عمل المطالبات التي يمكن التحقق منها W3C. تتوافق بيانات الاعتماد القابلة للتحقق مع نموذج بيانات بيانات الاعتماد القابل للتحقق من W3C ، وتسهل التفاعلات باستخدام نمط يسمى مثلث الثقة:
يقوم المصدرون بإنشاء بيانات اعتماد ، عادةً من خلال توقيع مستندات JSON رقميًا بطريقة خاصة. أصحاب تخزينها ، وطلب التحقق من الدليل على أساسهم. العروض التقديمية القابلة للتحقق التي يقدمها حامليها إلى التحقق من الأدلة - إما بيانات الاعتماد ، أو البيانات المستمدة من بيانات الاعتماد أو أكثر - تم إنشاؤها من قبل حامليها لتلبية متطلبات التحقق. يتعلم التحقق من اليقين أي المصدرين قد شهدوا شيئًا من خلال التحقق من التوقيعات الرقمية مقابل سجل بيانات يمكن التحقق منه (عادةً ، blockchain).
تم تصميم React MSDK باستخدام Evernym Mobile SDK كحزمة متوفرة متوافقة مع Aries والتي تسمح للبناء السريع للمحافظ الرقمية المخصصة (تمامًا تحت سيطرتك) التي تمثل جانبًا حاملًا في نموذج بيانات الاعتماد القابلة للتحقق.
مع SDK المحمول من قبل React-Native ، يمكن للتطبيق الخاص بك:
يمكّن تطبيق محفظة الهوية حالات الاستخدام التي لا تعد ولا تحصى ، بما في ذلك إثبات أنك تزيد عن عمر قانوني محدد دون الكشف عن تاريخ ميلادك الدقيق ، ومشاركة السجلات الصحية بشكل خاص وأمان ، والتخلص من مفهوم اسم المستخدم والمساعد مرة واحدة إلى الأبد.
لاختبار محفظة هويتك ، يمكنك استخدام Verity SDK تمثل جانب الاتصال المعاكس.
في مستودعات Evernym Mobile SDK و Verity SDK ، يمكنك العثور على الكثير من المعلومات المفيدة بشأن بناء محافظ الهوية وعملية تبادل بيانات الاعتماد القابلة للتحقق.
لإنشاء مشروع جديد ، ستحتاج إلى الذهاب إلى الخطوات التالية.
إنشاء مشروع React Native جديد. سوف نسميها awesomeMsdkProject لهذا الدليل.
npx react-native init awesomeMsdkProject --version 0.65.1 ملاحظة : تحتاج إلى استخدام نفس الإصدار من react-native كما هو محدد في قسم peerDependencies في ملف package.json لـ Evernym React-SDK. الإصدار الموصى به حاليًا هو 0.65.1 . باستخدام إصدار مختلف ، فإنك تتعرض لخطر وجود مشكلات مع SDK.
لتضمين SDK في تطبيقك الجديد ، تحتاج إلى إعداد تبعياتها.
استبدال قسم التبعيات ترك فقط @evernym/react-native-white-label-app appel to package.json .
"dependencies" : {
"@evernym/react-native-white-label-app" : " https://gitlab.com/evernym/mobile/react-native-white-label-app.git " ,
}, يجب وضع التبعيات الأصلية في تبعيات التطبيق (انظر المشكلة). وهي مدرجة كتبعيات الأقران في SDK.
أضف جميع تبعيات الأقران من @evernym/react-native-white-label-app إلى قسم dependencies في package.json التطبيق الخاصة بك.
"dependencies" : {
"@react-native-community/async-storage" : " x " ,
...
"react-native-zip-archive" : " x " ,
"react-native" : " 0.65.1 " ,
"rn-fetch-blob" : " x " ,
...
}, أضف جميع devDependencies من @evernym/react-native-white-label-app devDependencies في package.json التطبيق الخاصة بك. json.
"devDependencies" : {
...
"copyfiles" : " x "
}, أضف الأمر التالي إلى قسم scripts الخاصة بك من التطبيق الخاص بك package.json :
"scripts" : {
...
"evernym-sdk:configure" : " yarn --cwd node_modules/@evernym/react-native-white-label-app run configure "
}, سيضيف هذا الأمر الوحدات النمطية اللازمة لتخصيص التطبيق المستقبلي عبر evernym-sdk .
يمكنك الآن تثبيت جميع التبعيات والقيام بالتكوين التلقائي ، وتشغيل الأوامر التالية في دليل المشروع الخاص بك:
yarn
yarn evernym-sdk:configure سيؤدي ذلك إلى تثبيت جميع التبعيات وإضافة الوحدات المطلوبة إلى دليل awesomeMsdkProject/app/evernym-sdk .
إزالة App.js الافتراضية ووضع ما يلي في index.js :
import * as EvernymSdk from '@evernym/react-native-white-label-app' ;
import { name as appName } from './app.json' ;
EvernymSdk . createApp ( appName ) ; انتقل إلى ملف app/evernym-sdk/provision.js وتحديد البيئة التي سيتم استخدامها من قبل التطبيق والوظيفة لاستدعاء للحصول على الرموز المميزة.
لاحظ أن بيئة التطبيق يجب أن تتطابق مع البيئة التي يتم فيها تسجيل خادم الراعي.
على سبيل المثال ، يجب أن يستخدم التطبيقDEMOإذا تم تسجيل خادم الراعي في البيئةDEMO.
DEFAULT_SERVER_ENVIRONMENT - اسم البيئة للاستخدام.
هناك العديد من البيئات المحددة مسبقًا:
// 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' يمكنك أيضًا توفير واستخدام بيئتك المخصصة باستخدام مجموعة من البيئة SERVER_ENVIRONMENTS ومتغيرات DEFAULT_SERVER_ENVIRONMENT :
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 - سيتم استدعاء الدالة من أجل الحصول على رمز لتوفير الوكيل لتطبيقك.
/// 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]
}
}
تهاني! الآن لدينا جزء جاهز من التطبيق. كخطوات التالية ، نحتاج إلى تكوين البناء للمنصات المستهدفة.
ملاحظة : في هذه المرحلة ، يجب أن تكون قد أكملت بالفعل قسم تكوين التطبيق الأساسي.
من أجل تكوين بناء تطبيقك للحصول على منصة Android ، راجع المستند.
ملاحظة : في هذه المرحلة ، يجب أن تكون قد أكملت بالفعل قسم تكوين التطبيق الأساسي.
من أجل تكوين بناء تطبيقك للحصول على منصة iOS ، انظر المستند.
راجع الوثائق للحصول على نظرة عامة على خيارات التكوين المتاحة.
يعد هذا الجهد جزءًا من مشروع تلقى تمويلًا من برنامج الأبحاث والابتكار في Horizon 2020 التابع للاتحاد الأوروبي بموجب اتفاقية المنحة رقم 871932 تم تسليمه من خلال مشاركتنا في Essif-Lab ، والذي يهدف إلى النهوض بالاعتماد الواسع للهوية الذاتية لصالح الجميع.