Самосомерная идентичность - это пожизненная портативная идентичность для любого человека, организации или вещи, которая не зависит от какого -либо централизованного авторитета и никогда не может быть забрана. Самоуверенная идентичность-это двухпартийная модель взаимоотношений, и между вами и организацией, которая теперь не будет рассмотрена, не рассматривается вашим «сверстником».
SSI сегодня возможен с DIDS и подтверждаемыми учетными данными.
DID - это новый тип глобально уникального идентификатора (URI), который не требует централизованного регистрационного органа, поскольку контроль идентификатора может быть доказан с использованием криптографии. Вы можете думать об этом как один из идентификаторов, с которыми мы больше знакомы - доменное имя или номер телефона - без центрального регистратора, такого как ICANN или NANP.
Проверенные учетные данные (VC) - это новый формат для совместимых цифровых учетных данных, определяемых рабочей группой W3C -проверки претензий. Проверенные учетные данные соответствуют модели данных о проверке учетных данных W3C, и они облегчают взаимодействие, используя шаблон, называемый треугольником доверия:
Эмитенты создают учетные данные, как правило, с помощью JSON DOCS подписаны особым образом. Держатели хранят их, и проверки просят доказательства на основе их. Проверяемые презентации, которые держатели предоставляют проверке, являются пакетами доказательств - либо учетные данные, либо данные, полученные из одного или нескольких учетных данных - построены владельцами, чтобы удовлетворить требования проверки. Проверители с уверенностью узнают, что эмитенты засвидетельствовали что -то, проверяя цифровые подписи на реестр проверки данных (как правило, блокчейн).
React MSDK построен с использованием Evernym Mobile SDK в качестве нативного пакета REACE, совместимого с Овен, который позволяет быстро построить индивидуальные цифровые кошельки (полностью под вашим контролем), представляющий сторону держателя в модели подтверждаемых учетных данных.
С Reactive Mobile SDK, ваше приложение может:
Приложение Identity Wallet позволяет бесчисленное использование, в том числе доказывать, что вы превышаете определенное юридическое возраст, не раскрывая точную дату рождения, делясь медицинскими картами в частном порядке и надежно и раз и навсегда избавляются с концепцией имени пользователя и пассу.
Для тестирования вашего идентификационного кошелька вы можете использовать Verity SDK, представляющий противоположную сторону связи.
В репозиториях Evernym Mobile SDK и Verity SDK вы можете найти много полезной информации о кошельках идентификации здания и проверке обмена учетными данными.
Чтобы создать новый проект, вам нужно будет пройти следующие шаги.
Создайте новый нативный проект React. Мы будем называть это awesomeMsdkProject для этого руководства.
npx react-native init awesomeMsdkProject --version 0.65.1 ПРИМЕЧАНИЕ . Вам необходимо использовать ту же версию react-native package.json что указано в разделе peerDependencies File. Рекомендуемая в настоящее время версия React-Clive составляет 0.65.1 . Используя другую версию, вы рискуете иметь проблемы с SDK.
Чтобы включить SDK в ваше новое приложение, вам необходимо настроить его зависимости.
Замените раздел зависимостей, оставляя только зависимость @evernym/react-native-white-label-app для вашего 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 .
"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]
}
}
Поздравляю! Теперь мы готова JS часть заявки. В качестве следующих шагов нам нужно настроить сборку для целевых платформ.
Примечание . На этом этапе вы уже должны иметь раздел конфигурации базового приложения.
Чтобы настроить построение вашего приложения для платформы Android, см. Документ.
Примечание . На этом этапе вы уже должны иметь раздел конфигурации базового приложения.
Чтобы настроить построение вашего приложения для платформы iOS, см. Документ.
См. Документацию, чтобы получить обзор доступных параметров конфигурации.
Эти усилия являются частью проекта, который получил финансирование от Программы исследований и инноваций Европейского Союза, в соответствии с соглашением о гранте № 871932, предоставленной в рамках нашего участия в ESSIF-LAB, которая направлена на продвижение широкого принятия самоуверенной идентичности в пользу всех.