Baseline Protocol
v1.0.0
v1.0.0
  • Welcome
  • Basics
    • Introduction
    • Architecture
    • Glossary
    • FAQ
  • Community
    • Open Source Community
      • Contributors
      • Members
    • Community Leaders
      • Core Developers
      • General Assembly
  • GOVERNANCE
    • Overview
    • Project Governance Board
    • Technical Steering Committee
  • Source Code
    • Packages
      • API
      • Baseline
      • CCSM
      • Identity
      • Privacy
      • Vault
      • Types
    • Baseline Process
    • Developer Resources
  • Standard
    • Overview
    • CORE Specification
    • API Specification
    • CCSM Specification
  • Reference Implementations
    • Overview
    • BRI-1
      • Base Example
    • BRI-2
  • Connectors
    • SAP/Microsoft Dynamics
    • Google Sheets/Microsoft Dynamics
    • MSFT Excel Connector
  • Deprecated Work
    • Overview
    • Radish34 - DEPRECATED
      • Radish34 Explained - DEPRECATED
      • Interactive Demo - DEPRECATED
      • Workflow - DEPRECATED
      • Key Diagrams - DEPRECATED
Powered by GitBook
On this page
  • @baseline-protocol/identity
  • Installation
  • Building
  • Organization Registry

Was this helpful?

Export as PDF
  1. Source Code
  2. Packages

Identity

@baseline-protocol/identity

Baseline core identity package.

Installation

npm install @baseline-protocol/identity(npm package soon to be published)

Building

You can build the package locally with npm run build.

Organization Registry

Each organization registered within the OrgRegistry first generates a secp256k1 keypair and uses the Ethereum public address representation as "primary key" for future resolution. This key SHOULD NOT sign transactions. A best practice is to use an HD wallet to rotate keys, preventing any account from signing more than a single transaction.

Note that an organization may not update its address.

struct Org {
    address orgAddress;
    bytes32 name;
    bytes messagingEndpoint;
    bytes whisperKey;
    bytes zkpPublicKey;
    bytes metadata;
}

struct OrgInterfaces {
    bytes32 groupName;
    address tokenAddress;
    address shieldAddress;
    address verifierAddress;
}

mapping (address => Org) orgMap;
mapping (uint => OrgInterfaces) orgInterfaceMap;
uint orgInterfaceCount;

Org[] public orgs;
mapping(address => address) managerMap;

event RegisterOrg(
    bytes32 _name,
    address _address,
    bytes _messagingEndpoint,
    bytes _whisperKey,
    bytes _zkpPublicKey,
    bytes _metadata
);

event UpdateOrg(
    bytes32 _name,
    address _address,
    bytes _messagingEndpoint,
    bytes _whisperKey,
    bytes _zkpPublicKey,
    bytes _metadata
);
PreviousCCSMNextPrivacy

Last updated 3 years ago

Was this helpful?