Library that is used among other repositories. Implements Borsh
implementation for structures and enums. Also contain Diffie-Hellman and Ed25519 API
Client library for Near RPC
Client library for communication from browser and Near blockchain. It’s a high-level API. User doesn’t need to understand how blockchain works.
wasm-pack build web-client --target bundler --out-dir ../pkg
Pre requirements:
Clone a key-exchange-server
and near-smartcontracts
.
Deploy their docker instances:
⚠️ Please keep the order(near-smartcontracts
depends on the key-exchange-server
network)
key-exchange-server
: bash docker-compose up -d
near-smartcontracts
: bash docker-compose -f docker-compose.yml -f docker-compose.tests.yml up -d
Then:
docker-compose up
sequenceDiagram
participant Initiator
participant Alice
participant Bob
Initiator->>Blockchain: create meeting with id
Initiator-->>Internet: share meeting Id
loop
Initiator->>Blockchain: wait for pub. key for Alice and Bob
activate Blockchain
Blockchain--)Initiator: receive pub key [Alice, Bob]
deactivate Blockchain
end
par
Bob->>Internet: get meeting id
activate Internet
Internet--)Bob: receive meeting id
deactivate Internet
and
Alice->>Internet: get meeting id
activate Internet
Internet--)Alice: receive meeting id
deactivate Internet
end
par
Bob->>Blockchain: put temp public key for Bob
activate Blockchain
Blockchain--)Bob: Initiator public key
deactivate Blockchain
and
Alice->>Blockchain: put temp public key for Alice
activate Blockchain
Blockchain--)Alice: Initiator public key
deactivate Blockchain
end
Initiator-->>RelayServer: Olm message(symetric key) by Bob pub key
RelayServer-->>Bob: Olm message(symetric key) by Bob pub key
Initiator-->>RelayServer: Olm message(symetric key) by Alice pub key
RelayServer-->>Alice: Olm message(symetric key) by Alice pub key