Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Indy-Besu PoC #1821

Merged
merged 306 commits into from
Jan 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
306 commits
Select commit Hold shift + click to select a range
0720a63
fix: Resolved issue with adding DidRegistry contract into genesis
Artemkaaas Sep 22, 2023
7a42561
doc: Added document about validators control contract
Artemkaaas Sep 24, 2023
b7c8741
doc: Added document about cl registry and vdr
Artemkaaas Sep 24, 2023
1cc6319
doc: Work on VDR document
Artemkaaas Sep 25, 2023
01aeb24
doc: updated version
Artemkaaas Sep 25, 2023
cf907de
Merge branch 'feature/cl-demo' into 'main'
Toktar Sep 25, 2023
0f1cbc1
Deploy and use the DIDValidator as a external library
akarabashov Sep 25, 2023
842c8fc
doc: updated version
Artemkaaas Sep 26, 2023
1ff6256
feat: Added basic rust sample app to demonstrate vdr steps
Artemkaaas Sep 26, 2023
3625652
Fix code format
akarabashov Sep 26, 2023
ada2fe9
doc: Updates of VDR design document
Artemkaaas Sep 26, 2023
f92516f
Verify DID syntax with regex
akarabashov Sep 26, 2023
f4d064a
doc: Updates of VDR design document
Artemkaaas Sep 27, 2023
52abe36
doc: Updates of VDR sample
Artemkaaas Sep 27, 2023
20b7e01
fix: Fixes in contract and method names
Artemkaaas Sep 27, 2023
8365122
Generate contract genesis with DidRegex linrary
akarabashov Sep 27, 2023
cc57cca
Fix DID syntax regex
akarabashov Sep 27, 2023
50017b5
fix: Update VDR design document
Artemkaaas Sep 28, 2023
c751f68
Merge branch 'feature/deploy_contract_with_library' into 'main'
Artemkaaas Sep 28, 2023
7b7cc87
Fix demo flow
akarabashov Sep 28, 2023
67e4b89
Merge remote-tracking branch 'origin/main' into decoumentation
Artemkaaas Sep 28, 2023
195bbf8
doc: applied formatting
Artemkaaas Sep 28, 2023
0155878
Implement schema registry
akarabashov Sep 28, 2023
3f79653
doc: Moved migration and compatibility parts into separate document
Artemkaaas Sep 29, 2023
8da1873
doc: Added top level readme
Artemkaaas Sep 29, 2023
3900a57
Merge branch 'decoumentation' into 'main'
Toktar Sep 29, 2023
bd39ab6
Add negative test cases for RegistrySchema
akarabashov Sep 29, 2023
3b69426
Merge branch 'main' into feature/cl_registry
akarabashov Sep 29, 2023
8ae2487
Fix schema creation step in demo flow
akarabashov Sep 29, 2023
d12cdb8
fix: Updated genesis file to get working network
Artemkaaas Oct 2, 2023
c1e685e
Merge branch 'fix/network-genesis' into 'main'
Artemkaaas Oct 2, 2023
7bd7b88
Implement Credential Definitiojn registry
akarabashov Oct 2, 2023
fc9abf5
Refactor credential definition registry
akarabashov Oct 2, 2023
b199b2b
Refactor schema and cred def types
akarabashov Oct 2, 2023
0486b06
feat: Rust vdr client library - initial structure
Artemkaaas Oct 2, 2023
26bdbd2
feat: Rust vdr client library - keep working
Artemkaaas Oct 3, 2023
6800102
Add negative test cases for schema and cred def registries
akarabashov Oct 3, 2023
3be6d16
Fix demo flow
akarabashov Oct 4, 2023
cdc1e34
Add cred def ID syntax check
akarabashov Oct 4, 2023
52551f9
feat: Rust vdr client library - keep working
Artemkaaas Oct 4, 2023
7fbe8cf
Update genesis
akarabashov Oct 4, 2023
bad12f1
Merge branch 'main' into feature/cl_registry
akarabashov Oct 4, 2023
0032cd8
Fix code format
akarabashov Oct 4, 2023
697ef5c
Add code documentation
akarabashov Oct 4, 2023
f4d6891
Merge branch 'feature/cl_registry' into 'main'
Artemkaaas Oct 4, 2023
8cf3547
Merge branch 'main' into feature/verify_did_with_regex
akarabashov Oct 4, 2023
b3ea138
Refactor unit tests
akarabashov Oct 4, 2023
e9b6cea
Update the genesis to include the DID regex contract
akarabashov Oct 4, 2023
2fd8d38
Fix demo flow
akarabashov Oct 4, 2023
4bb0d5c
Implement account permissioning smart contract
akarabashov Oct 6, 2023
3254bda
Add account permissioning contract to genesis
akarabashov Oct 6, 2023
21be46c
fix: VDR added support for DidRegistry contract
Artemkaaas Oct 6, 2023
e94a13f
feat: update genesis file
Artemkaaas Oct 7, 2023
88b037a
Add demo flow for account control
akarabashov Oct 9, 2023
9b0f229
Remove redundant code
akarabashov Oct 9, 2023
64cec4e
Update account control flow's output messages
akarabashov Oct 9, 2023
720ad53
Remove redundant contract
akarabashov Oct 9, 2023
b8fdf3e
Fix account contract demo flow
akarabashov Oct 9, 2023
f148a33
Remove redundant typechain classes
akarabashov Oct 9, 2023
c28bde9
Fix code formatting
akarabashov Oct 9, 2023
71a5744
Add step of reading the contract by an unauthorized user
akarabashov Oct 9, 2023
ecf36bd
Update documentation
akarabashov Oct 9, 2023
41e5a4a
Update auth document
akarabashov Oct 10, 2023
e03c303
feat: Refactored generate genesis script
Artemkaaas Oct 10, 2023
42a697d
Merge branch 'feature/account_permissioning' into 'main'
Artemkaaas Oct 10, 2023
c5d96e8
fix: Use relative path for contract specs
Artemkaaas Oct 10, 2023
e7672e8
Moved signer test helpers to proper place
Artemkaaas Oct 10, 2023
2235745
Update regex to accept only base58 for DID's method specefic ID
akarabashov Oct 10, 2023
a488cb2
Merge branch 'main' into feature/verify_did_with_regex
akarabashov Oct 10, 2023
1320b1d
Update genesis
akarabashov Oct 10, 2023
4ab8d8e
Refactor account control config
akarabashov Oct 10, 2023
80288e8
Format code
akarabashov Oct 10, 2023
fb95ef0
Merge branch 'feature/vdr-library' into 'main'
Artemkaaas Oct 10, 2023
9513b85
Merge branch 'main' into feature/verify_did_with_regex
akarabashov Oct 10, 2023
521aefd
Update genesis
akarabashov Oct 10, 2023
2117038
Fix gas limit
akarabashov Oct 10, 2023
2439cfd
Improve DID's method-specefic-id generation
akarabashov Oct 10, 2023
ee30bb0
Fix todo message
akarabashov Oct 10, 2023
f2ab917
Merge branch 'feature/verify_did_with_regex' into 'main'
akarabashov Oct 10, 2023
dc00900
feat: VDR improvements
Artemkaaas Oct 12, 2023
e2df2cc
Add proxy smart contract investigation document
akarabashov Oct 13, 2023
8898c21
Update proxy smart contract document
akarabashov Oct 13, 2023
66647c8
Add descriptions about updating the contract using the UUPS pattern
akarabashov Oct 13, 2023
6fc6219
Remove redundant doc file
akarabashov Oct 13, 2023
5df1a88
Implement upgrade manager
akarabashov Oct 16, 2023
0631223
Fix usage example
akarabashov Oct 16, 2023
699b5bd
Add resources list to Upgradable Smart Constract doc
akarabashov Oct 16, 2023
74f8f25
Add unit tests
akarabashov Oct 17, 2023
103ebf0
Add contract upgrade demo
akarabashov Oct 17, 2023
46fb5e9
Add waiting contract deployment
akarabashov Oct 18, 2023
b28b939
Update auth design doc
akarabashov Oct 18, 2023
44479d5
Add `ensureSufficientApprovals` method into auth design doc
akarabashov Oct 18, 2023
373b68a
Merge branch 'feat/vdr-tasks' into 'main'
Artemkaaas Oct 18, 2023
4e995a6
added validator_control contract to vdr lib
DenisRybas Oct 18, 2023
dc76fad
Update documentations
akarabashov Oct 18, 2023
13a8a56
Merge branch 'main' into feature/upgradable-contracts
akarabashov Oct 18, 2023
2eaaea7
Update genesis
akarabashov Oct 18, 2023
3c38727
Fix cl-registry document formatting
akarabashov Oct 18, 2023
6a3819c
Store account counts for all roles
akarabashov Oct 18, 2023
161c7e5
Add method for propsoe implementation upgrade
akarabashov Oct 18, 2023
f971839
Update demo for upgrade contract
akarabashov Oct 18, 2023
7f447d0
Add descriptions of the "propose" method to the documentation
akarabashov Oct 18, 2023
6488344
feat: Ledger migration
Artemkaaas Oct 19, 2023
370081a
feat: Ledger migration
Artemkaaas Oct 19, 2023
2fcf61e
Format unit tests for upgrade control
akarabashov Oct 19, 2023
f8ab0b3
Merge branch 'feature/upgradable-contracts' into 'main'
Artemkaaas Oct 19, 2023
0fc928f
Replace string errors in DIDRegistry with custom errors
akarabashov Oct 19, 2023
2fe610a
Replace string errors in RoleControl with custom errors
akarabashov Oct 19, 2023
0599344
feat: Document and script improvements
Artemkaaas Oct 20, 2023
8841f86
Merge remote-tracking branch 'origin/main' into feat/vdr-tasks
Artemkaaas Oct 20, 2023
ccb6c44
feat: Updated genesis file
Artemkaaas Oct 20, 2023
045cbe2
added initial version of roleControl contract
DenisRybas Oct 20, 2023
2fb0246
added role control contract addr and path
DenisRybas Oct 20, 2023
18e1db8
feat: Improved error handling
Artemkaaas Oct 20, 2023
539e6ab
feat: Moved migration module
Artemkaaas Oct 20, 2023
dedf433
Replace string errors in ValidatorControl with custom errors
akarabashov Oct 21, 2023
e75634d
Update genesis
akarabashov Oct 21, 2023
d4ac69b
role control contract support added
DenisRybas Oct 22, 2023
db8497a
feat: Corrections for mogration module
Artemkaaas Oct 23, 2023
c554d5c
Make contracts upgradable
akarabashov Oct 23, 2023
1dbad80
Merge branch 'feature/custom_errors' into 'main'
Artemkaaas Oct 23, 2023
fb422ee
Merge remote-tracking branch 'origin/feat/vdr-tasks' into feat/vdr-tasks
Artemkaaas Oct 23, 2023
0cd0b1d
Merge branch 'feat/vdr-tasks' into 'main'
Artemkaaas Oct 23, 2023
3558382
Merge remote-tracking branch 'origin/main' into feat/vdr-error-handling
Artemkaaas Oct 23, 2023
2e90205
feat: Sync with master
Artemkaaas Oct 23, 2023
abc4f4f
feat: Better errors handling
Artemkaaas Oct 23, 2023
9fda7d4
Merge branch 'feat/error-hadling' into 'main'
Artemkaaas Oct 23, 2023
697aee6
Add support for testing upgradable contracts in the unit tests
akarabashov Oct 23, 2023
5ebb7f9
Merge branch 'main' into feature/make_contracts_upgradable
akarabashov Oct 23, 2023
2f05ecb
Update the validator controls tests to support upgradable contract
akarabashov Oct 24, 2023
b305519
Fix validator control deployment
akarabashov Oct 24, 2023
7855cee
Deploy with first version of initializer
akarabashov Oct 24, 2023
93d8d0e
Fix code formatting
akarabashov Oct 24, 2023
4342cb5
feat: VDR documentation
Artemkaaas Oct 24, 2023
1c8082b
Merge branch 'feat/vdr-improvements' into 'main'
Artemkaaas Oct 24, 2023
e3108cb
Reduce boilerplate code in upgradeable contracts
akarabashov Oct 24, 2023
b1a8da8
added demo tests for RoleControl, fixed bugs
DenisRybas Oct 24, 2023
09edb3b
updated unit tests
DenisRybas Oct 24, 2023
a761623
removed unused import
DenisRybas Oct 24, 2023
aaba00e
updated tests
DenisRybas Oct 24, 2023
194c597
changed test scope
DenisRybas Oct 24, 2023
65c5b2f
Merge branch 'feature/make_contracts_upgradable' into 'main'
Artemkaaas Oct 25, 2023
eefdeb3
Update DID Registry document
akarabashov Oct 25, 2023
0fb7399
Update upgrade controller docs
akarabashov Oct 25, 2023
2ac4e4c
Update validator control docs
akarabashov Oct 25, 2023
702b808
Add fixes to contract code documentaiton
akarabashov Oct 25, 2023
882b5ef
Update README files
akarabashov Oct 26, 2023
75d9ce4
Add fixes to README
akarabashov Oct 26, 2023
2173a81
Merge branch 'feature/improve_code_docs' into 'main'
Artemkaaas Oct 26, 2023
2043209
Configure solhint linter
akarabashov Oct 26, 2023
9271216
Configure formatter for solidity
akarabashov Oct 26, 2023
132c6a8
Fix bracket spacing
akarabashov Oct 26, 2023
fcbed99
fixed erros, added tests
DenisRybas Oct 26, 2023
2d4371c
Add a pre-commit hook to format and lint the code
akarabashov Oct 26, 2023
91c3353
Add missin code documentation
akarabashov Oct 26, 2023
ee8911b
removed unused imports
DenisRybas Oct 26, 2023
fe41c5b
made tests work
DenisRybas Oct 26, 2023
77a21ea
code cleanup
DenisRybas Oct 26, 2023
651277d
code cleanup
DenisRybas Oct 26, 2023
b6b71f2
made tests work
DenisRybas Oct 26, 2023
63fc7b2
code cleanup
DenisRybas Oct 26, 2023
9a73551
fixed receipt outputs
DenisRybas Oct 26, 2023
bdc7757
Merge branch 'main' of https://gitlab.dsr-corporation.com/dsr-blockch…
DenisRybas Oct 26, 2023
29fc4c7
updated errors in role_control
DenisRybas Oct 26, 2023
d4411ba
Merge branch 'main' of https://gitlab.dsr-corporation.com/dsr-blockch…
DenisRybas Oct 26, 2023
9805fa3
uodated genesis.json
DenisRybas Oct 26, 2023
627577b
updated errors in validator_control
DenisRybas Oct 26, 2023
a33d098
removed .unwrap()
DenisRybas Oct 26, 2023
121d21e
added docs
DenisRybas Oct 26, 2023
58db28c
added docs
DenisRybas Oct 26, 2023
face076
feat: VDR code clean up
Artemkaaas Oct 27, 2023
50926c9
feat: Added separate struct for Address
Artemkaaas Oct 27, 2023
6d63a50
Merge branch 'feature/roleControlContract' into 'main'
Artemkaaas Oct 27, 2023
d5cd719
fix: Merge main and fixed demo
Artemkaaas Oct 27, 2023
9cd6314
Merge branch 'feature/solidity_linter_formatter' into 'main'
Artemkaaas Oct 27, 2023
992c936
Merge remote-tracking branch 'origin/main' into vdr/clean-up
Artemkaaas Oct 27, 2023
75bbb95
Merge branch 'vdr/clean-up' into 'main'
Artemkaaas Oct 27, 2023
9b92c3d
Merge remote-tracking branch 'origin/main' into feature/vdr-validator…
Artemkaaas Oct 27, 2023
ed832ef
feat: Use Address type in validator control
Artemkaaas Oct 27, 2023
b3feb64
Merge branch 'feature/vdr-validatorContract' into 'main'
Artemkaaas Oct 27, 2023
8ad205a
Prepare the indy-besu repo for migration
akarabashov Oct 27, 2023
96fb799
Merge branch 'indy-besu-migration' into indy-besu
akarabashov Nov 4, 2023
6af2fa1
Fix pre-commit hook for indy-besu
akarabashov Nov 4, 2023
3508676
Resolve conflicts which occurs between demo scripts
akarabashov Nov 4, 2023
8f974a8
fixed tests
DenisRybas Nov 9, 2023
bedf9a4
added owner verification to DidRegistry
DenisRybas Nov 1, 2023
f8df81a
updated genesis
DenisRybas Nov 1, 2023
d504e18
added tests for owner verification
DenisRybas Nov 1, 2023
f586a87
renamed trustee_acc variables
DenisRybas Nov 1, 2023
ab6a5e5
added docs for SenderIsNotCreator error
DenisRybas Nov 1, 2023
96aa812
processed comments
DenisRybas Nov 9, 2023
2466f87
creatorAddress -> creator
DenisRybas Nov 13, 2023
2b63a6b
Merge pull request #7 from DSRCorporation/feat-owner-verification
DenisRybas Nov 13, 2023
33ed4a3
Fix typos in Auth model documentaiton
akarabashov Nov 13, 2023
09161bc
Merge pull request #8 from DSRCorporation/validatorControl-tests-fix
DenisRybas Nov 14, 2023
78d7446
DidRegistry contracts tests cleanup (#12)
DenisRybas Nov 16, 2023
7d44700
logging for roleControl added
DenisRybas Nov 2, 2023
d2283d1
added logging for cl
DenisRybas Nov 2, 2023
7f23335
added logging for DidRegistry
DenisRybas Nov 3, 2023
61c15b0
added logging for validatorControl
DenisRybas Nov 3, 2023
c63dc4a
logs cleanup
DenisRybas Nov 3, 2023
d15a5bc
added logging for errors convertions
DenisRybas Nov 3, 2023
54b0bb3
added logging for client
DenisRybas Nov 8, 2023
bacec1a
added logging for migration
DenisRybas Nov 9, 2023
f260acf
added env logger to unit tests
DenisRybas Nov 9, 2023
e72e206
Updated readme for logging
DenisRybas Nov 9, 2023
0a72c8e
logs cleanup, processed comments
DenisRybas Nov 14, 2023
74ca7ec
changed log level
DenisRybas Nov 14, 2023
caefeb0
logs cleanup
DenisRybas Nov 14, 2023
2ec5a7f
removed build warns and errors
DenisRybas Nov 14, 2023
5214dc0
replaced ok_or to ok_or_else
DenisRybas Nov 14, 2023
ca6a924
replaced debug to trace in client
DenisRybas Nov 14, 2023
4722a46
replaced ok_or with ok_or_else in client
DenisRybas Nov 14, 2023
7091cf5
added trace logs
DenisRybas Nov 15, 2023
9fa68b8
Add Indy-Besu CI (#9)
Toktar Nov 21, 2023
3142854
Added goal and ideas section to the main readme
Artemkaaas Nov 23, 2023
110e3be
Merge pull request #14 from DSRCorporation/feature/goals
Toktar Nov 23, 2023
3e64816
Improve documentation structure and process review comments
Artemkaaas Nov 23, 2023
3a81dd5
Add check that issuer DID is controlled by sender on schema and cred …
Artemkaaas Nov 24, 2023
ad280f7
Added compiled-contracts to git ignore
Artemkaaas Nov 24, 2023
e0fb07c
Removed generated contract genesis json
Artemkaaas Nov 24, 2023
d1159f5
Added ContractsGenesis.json to gitignore
Artemkaaas Nov 24, 2023
6879d90
Reworked did method document
Artemkaaas Nov 24, 2023
8ce8e6e
Added parent CLRegistry contract for Schema and Credential Definition
Artemkaaas Nov 24, 2023
badff9c
Added draft roadmap
Toktar Nov 21, 2023
6d565d9
Add universal resolver to roadmap
Toktar Nov 21, 2023
d008ca8
Fixed clippy warning in VDR library
Artemkaaas Nov 27, 2023
d4ac1e3
Updated roadmap structure and added new items
Toktar Nov 27, 2023
7f89124
Removed section with DID syntax for did:ethr method
Artemkaaas Nov 28, 2023
4f4b472
Merge pull request #17 from DSRCorporation/indy-besu-roadmap
Toktar Nov 28, 2023
0c76531
Merge pull request #15 from DSRCorporation/docs/process-comments
Toktar Nov 28, 2023
1dd7ee2
Merge pull request #18 from DSRCorporation/fix/vdr-clippy
Toktar Nov 28, 2023
dca3cdc
Merge pull request #16 from DSRCorporation/feature/issued-did-check
Toktar Nov 28, 2023
1bbef7c
Implement universal DID resolver
akarabashov Dec 5, 2023
b56e8bf
Add tests for universal resolver
akarabashov Dec 5, 2023
5162119
Revert with 'IncorrectDid' error while resolving with Incorrect DID f…
akarabashov Dec 6, 2023
a15f6c7
Add test for creating schema and credDef using did:ethr method
akarabashov Dec 6, 2023
35e785b
Add etherium DID registry and universal DID resolver contract to genesis
akarabashov Dec 6, 2023
10fdc7c
Add cl registry demo using did:ethr DID as issuer
akarabashov Dec 6, 2023
603d2ec
Add upgradeable functionality to EthereumDIDRegistry
akarabashov Dec 7, 2023
77603af
Add demo steps to make sure permissioning features still work with `d…
akarabashov Dec 7, 2023
aea2630
Code refactoring
akarabashov Dec 8, 2023
c0c69a3
Fix did:ethr resolving
akarabashov Dec 8, 2023
a821a22
Update indy-besu genesis and fix demo
akarabashov Dec 8, 2023
031cf6f
Fix Indy-Besu VDR
akarabashov Dec 11, 2023
d0fd1f4
Fix Indy-Besu formatting
akarabashov Dec 11, 2023
3ca0416
Merge pull request #21 from DSRCorporation/feature/universal_did_reso…
Artemkaaas Dec 11, 2023
3687fd6
Update README.md
Toktar Dec 21, 2023
5f7e0f5
Update README.md formatting
Toktar Dec 21, 2023
65645ef
Merge pull request #28 from DSRCorporation/readme-update
Artemkaaas Dec 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions .github/workflows/indy-besu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: CI

on:
pull_request:
paths: "indy-besu/**"

workflow_dispatch:

jobs:
lint-contracts:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: "20.x"
- name: Install dependencies
run: yarn install
working-directory: indy-besu/smart_contracts
- name: Lint
run: yarn lint-check
working-directory: indy-besu/smart_contracts

test-contracts:
needs: lint-contracts
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: "20.x"
- name: Install dependencies
run: yarn install
working-directory: indy-besu/smart_contracts
- name: Unit tests
run: yarn test
working-directory: indy-besu/smart_contracts
- name: Run localnet
run: ./network/scripts/run.sh && sleep 40
working-directory: indy-besu
- name: Demos
run: yarn demos
working-directory: indy-besu/smart_contracts

lint-vdr:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install latest rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Lint
run: cargo fmt --check
working-directory: indy-besu/vdr

store-artifacts:
needs: lint-vdr
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: "20.x"
- name: Install dependencies
run: yarn add hardhat
working-directory: indy-besu/smart_contracts
- name: Compile smart contracts
run: yarn compile
working-directory: indy-besu/smart_contracts
- name: Archive contract artifacts
uses: actions/upload-artifact@v3
with:
name: smart-contracts-artifacts
path: indy-besu/smart_contracts/artifacts/**
retention-days: 3

test-vdr:
needs: store-artifacts
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install latest rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Download contract artifcats
uses: actions/download-artifact@v3
with:
name: smart-contracts-artifacts
path: indy-besu/smart_contracts/artifacts
- name: Run localnet
run: ./network/scripts/run.sh && sleep 40
working-directory: indy-besu
- name: Test
run: cargo test --features=ledger_test -- --test-threads=1
working-directory: indy-besu/vdr
20 changes: 20 additions & 0 deletions indy-besu/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# This file defines environment variables defaults for Docker-compose
# but we also use it for shell scripts as a sourced file

BESU_VERSION=23.7.3
QUORUM_VERSION=23.4.0
ETHSIGNER_VERSION=22.1.3

LOCK_FILE=.localnet.lock

# GoQuorum consensus algorithm
# istanbul, qbft, raft
# !!! lower case ONLY here
GOQUORUM_CONS_ALGO=qbft

# Besu consensus algorithm
# IBFT, QBFT, CLIQUE
# PLEASE NOTE: IBFT used here refers to IBFT2.0 and not IBFT1.0 More information can be found https://besu.hyperledger.org/en/latest/HowTo/Configure/Consensus-Protocols/IBFT/
# We use IBFT here to keep the API names consistent
# !!! upper case ONLY here
BESU_CONS_ALGO=QBFT
7 changes: 7 additions & 0 deletions indy-besu/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.DS_Store
node_modules
.vscode
logs
.localnet.lock
.idea
vdr/target
84 changes: 84 additions & 0 deletions indy-besu/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
**This is not an official Indy Ledger code yet, but an experimental proof of concept (PoC). The goal is to prove a possibility to use Indy Besu as a foundation for Indy Ledger and show how it can be done.
The code and PoC may be moved to a separate Indy repository later for further development.**

# Indy Besu ledger

## Plan for making this code official
Proposed by @TelegramSam in #1826
>- Work is created in new repositories
> - I understand a previous conversation decided to put the work in indy-node. I think this decision should be changed.
> - This will help the work move faster with less community bottlenecks.
>- Related work should be clearly labeled as experimental or research
> - This includes a did method definition, for example
>- Advance the project so that we are able to test the properties of the project, including speed, scale, bandwidth, processor load, and energy use.
>- Delay commitment to the new approach until we reach sufficient confirmation of approach validity.

## Goals and ideas

* Prove a possibility of replacement for [Hyperledger Indy](https://www.hyperledger.org/projects/hyperledger-indy) ecosystem that provides support for verifiable credentials:
* Components to replace:
* Distributed ledger: [Indy Node](https://github.com/hyperledger/indy-node) and [Indy Plenum](https://github.com/hyperledger/indy-plenum)
* Client library: [Indy SDK](https://github.com/hyperledger/indy-sdk/tree/main)
* Capability to migrate the data from the original Indy Ledger
* Distributed ledger requirements:
* Public Permissioned Blockchain
* Control the validator nodes
* Control the user permissions
* EVM compatible Blockchain
* Capability to deploy on different networks
* Based on existing open-source blockchain framework with a good performance, sufficient adoption, and wide community
* Capability to work without tokens and fees
* Stable consensus protocol
* Functional requirements:
* Interoperability:
* Capability to use existing DID's and identifiers:
* Support [indy](https://hyperledger.github.io/indy-did-method/) DID method
* Support [sov](https://sovrin-foundation.github.io/sovrin/spec/did-method-spec-template.html) DID method
* Identifiers previously stored on the client side should be resolvable on the new Ledger
* Capability to use the ledger as an [AnonCreds Registry](https://hyperledger.github.io/anoncreds-methods-registry/)
* Compatibility with the latest [AnonCreds Specification](https://hyperledger.github.io/anoncreds-spec/)
* Extensibility:
* Capability to integrate new pieces of functionality easily
* Capability to use [ETHR](https://github.com/decentralized-identity/ethr-did-resolver/blob/master/doc/did-method-spec.md) DID method
* Integration with the [AnonCreds Registry](https://hyperledger.github.io/anoncreds-methods-registry/)
* Integration with `Permissioned` modules
* Data validity:
* Neglect `gas` efficiency in favour general validation of the stored data
* Basic [DID Documents](https://www.w3.org/TR/did-core/) validation
* Basic [AnonCreds entities](https://hyperledger.github.io/anoncreds-spec/#anoncreds-setup-data-flow) validation
* Basic state consistency validation

## Design documentation

See [design document](./docs/README.md) covering the main ledger aspects.

## Running local network

### Prerequisites

- [Docker and Docker-compose](https://docs.docker.com/compose/install/) v2 or higher

> ⚠️ **Note**: If on MacOS or Windows, please ensure that you allow docker to use upto 4G of memory under the _Resources_ section. The [Docker for Mac](https://docs.docker.com/docker-for-mac/) and [Docker Desktop](https://docs.docker.com/docker-for-windows/) sites have details on how to do this at the "Resources" heading

### Commands

* **Start the network: - run all services inside the docker containers**
```bash
./network/scripts/run.sh
```

* **Stop the network: run the entire network, and you can resume where it left off with `./resume.sh`**
```bash
./network/scripts/stop.sh
```

* **Remove the network: stop and then remove all containers and images**
```bash
./network/scripts/remove.sh
```

## Managing smart contracts

See [README.md](/smart_contracts/README.md).


Loading
Loading