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

feat(example): plumbing, intra-node routing for #308 #337

Merged
merged 43 commits into from
Dec 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
60c62ab
build(webpack): add JSDoc type hints to config
petermetz Nov 12, 2020
43ab0f6
feat(common): add Servers.startOnPreferredPort(), Servers.startOnPort()
petermetz Nov 12, 2020
47974cf
chore(typings): add async-exit-hook npm package typings
petermetz Nov 12, 2020
b65cbd8
build(package-json): configure now runs install and dev build only
petermetz Nov 12, 2020
cde3b4e
build(package-json): npm script to run tests quorum connector only
petermetz Nov 12, 2020
b929ac7
fix(cmd-api-server): add IPluginImport to public API surface of package
petermetz Nov 12, 2020
15e8c5e
fix(cmd-api-server): plugin imports via static config (env,cli,file)
petermetz Nov 12, 2020
a8db888
build(commitizen): limit header to 72 from 100
petermetz Nov 12, 2020
01a2a78
chore: update @types/express to 4.17.8
petermetz Nov 12, 2020
d1514bd
refactor(core-api): add transact() to connector, remove addPublicKey()
petermetz Nov 12, 2020
da2752f
build(test-plugin-consortium-manual): fix bundle names in package.json
petermetz Nov 12, 2020
82a9b7e
refactor(core-api): renames the plugin id getter to package name
petermetz Nov 12, 2020
1c12daf
test(common): experiment to fix flaky test case
petermetz Nov 12, 2020
477e6b4
feat(common): add OpenAPI spec exporter utility function
petermetz Nov 12, 2020
f2f23ef
build(tsconfig-json): include es2019 in libs to have Array#flat()
petermetz Nov 12, 2020
d7bcaf9
fix(common): servers.startOnPort() error handling
petermetz Nov 12, 2020
968f3e8
feat(common): add IAsyncProvider interface definition
petermetz Nov 12, 2020
ec6c577
refactor: move consortium OpenAPI schema to core-api
petermetz Nov 12, 2020
3f0638e
feat(sdk): routing to nodes by ledger ID
petermetz Nov 12, 2020
cd4790a
chore(plugin-ledger-connector-besu): unused imports cleanup
petermetz Nov 12, 2020
6d77014
feat(plugin-ledger-connector-besu): add log level to options
petermetz Nov 12, 2020
34f3e23
build: 🏗 fix git-cz mismatch of possible commit message types
petermetz Nov 12, 2020
db8e466
build(webpack): adds shebang loader
petermetz Nov 12, 2020
9a1ab61
feat(core-api): add instanceId getter to ICactusPlugin
petermetz Nov 12, 2020
be807f0
feat(common): add Checks#nonBlankString() utility
petermetz Nov 12, 2020
b335363
feat: 🎸 add method: QuorumTestLedger#getGenesisAccount()
petermetz Nov 12, 2020
08a77c2
feat(besu): 🎸 OpenAPI support => arbitrary TX, contract deployments
petermetz Nov 12, 2020
a408c62
chore(besu): 🤖 migrate from tap to tape
petermetz Nov 12, 2020
116b87b
test(common): 💍 Bools.isBooleanStrict()
petermetz Nov 12, 2020
f5fe75d
feat(core-api): 🎸 add IKeychainPlugin#getKeychainId()
petermetz Nov 12, 2020
6f4fe61
build: 🏗 add top level tape-promise dependency for async tests
petermetz Nov 12, 2020
c8b9df1
refactor: 💡 In-memory keychain getEncryptionAlgorithm() => null
petermetz Nov 12, 2020
592e81e
test: 💍 add plugin-keychain-memory unit test
petermetz Nov 12, 2020
911cf89
feat(quorum): 🎸 export model-type-guards to public API surface
petermetz Nov 12, 2020
04e354a
feat(quorum): 🎸 support Cactus Keychain APIs
petermetz Nov 12, 2020
6981f48
test(quorum): 💍 ensure keychain refs work
petermetz Nov 12, 2020
95f4dbd
feat(besu): add keychain reference signing support
petermetz Nov 12, 2020
6f8c5e3
feat(tools): besu-all-in-one personal RPC HTTP API
petermetz Nov 12, 2020
7a854fe
feat(test-tooling): 🎸 createEthTestAccount() to Besu,Quorum test ledger
petermetz Nov 12, 2020
ebbe064
build: 🏗 configure script runs full dev build
petermetz Nov 12, 2020
c67c544
build(tap): run tests with 4 GB JS heap
petermetz Nov 12, 2020
51ef027
fix(common): flaky KeyConverter unit tests
petermetz Nov 12, 2020
30ad1b4
style: remove confusing emojis from changelog.config.js
petermetz Nov 30, 2020
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
92 changes: 92 additions & 0 deletions changelog.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
module.exports = {
disableEmoji: true,
list: [
"build",
"chore",
"ci",
"docs",
"feat",
"fix",
"perf",
"refactor",
"revert",
"style",
"test",
],
maxMessageLength: 64,
minMessageLength: 3,
maxHeaderWidth: 72,
questions: [
"type",
"scope",
"subject",
"body",
"breaking",
"issues",
"lerna",
],
scopes: [],
types: {
build: {
description:
"Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)",
emoji: "",
value: "build",
},
chore: {
description: "Build process or auxiliary tool changes",
emoji: "",
value: "chore",
},
ci: {
description: "CI related changes",
emoji: "",
value: "ci",
},
docs: {
description: "Documentation only changes",
emoji: "",
value: "docs",
},
feat: {
description: "A new feature",
emoji: "",
value: "feat",
},
fix: {
description: "A bug fix",
emoji: "",
value: "fix",
},
perf: {
description: "A code change that improves performance",
emoji: "",
value: "perf",
},
refactor: {
description: "A code change that neither fixes a bug or adds a feature",
emoji: "",
value: "refactor",
},
release: {
description: "Create a release commit",
emoji: "",
value: "release",
},
revert: {
description: "Reverts a previous commit",
emoji: "",
value: "revert",
},
style: {
description: "Markup, white-space, formatting, missing semi-colons...",
emoji: "",
value: "style",
},
test: {
description: "Adding missing tests",
emoji: "",
value: "test",
},
},
};
59 changes: 59 additions & 0 deletions docs/architecture/routing-to-api-servers-deployment-diagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
@startuml Routing to Plugin Instances


!include <material/common>
' To import the sprite file you DON'T need to place a prefix!
!include <material/cellphone>
!include <material/laptop_chromebook>
!include <material/database>

title Routing to Plugin Instances\nDeployment Diagram\nHyperledger Cactus

actor "User A" as usera <<human>>

frame "End User Device" as enduserdevice {
frame "Business Application" as ba {
rectangle "Cactus SDK" as cactussdk {
rectangle "API Client" as apiclient {
}
rectangle "Client Side\nRouter" as clientsiderouter {
}
}
}
}

cloud "Public Internet" as publicinternet {
}

frame "Cactus Backend" as cactus {
rectangle "API Server A" as apia {
rectangle "Connector\nPlugin A" as connectorplugina {
}
}
rectangle "API Server B" as apib {
rectangle "Connector\nPlugin B" as connectorpluginb {
}
}
}


frame "Ledgers" as ledgers {
MA_DATABASE(Gray, 1, ledger1, rectangle, "Ledger 1") {
}
MA_DATABASE(Gray, 1, ledger2, rectangle, "Ledger 2") {
}
}

usera => apiclient: TX: Ledger 1
apiclient => clientsiderouter: TX: Ledger 1
clientsiderouter => publicinternet: TX: Ledger 1

publicinternet ==> connectorplugina: TX: Ledger 1
publicinternet -[#AAAAAA]-> connectorpluginb

connectorplugina ==> ledger1: TX: Ledger 1
connectorpluginb -[#AAAAAA]-> ledger2

@enduml


Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
@startuml Routing to Plugin Instances


!include <material/common>
' To import the sprite file you DON'T need to place a prefix!
!include <material/cellphone>
!include <material/laptop_chromebook>
!include <material/database>

title Routing to Plugin Instances\nDeployment Diagram\nHyperledger Cactus

actor "User A" as usera <<human>>

frame "End User Device" as enduserdevice {
frame "Business Application" as ba {
rectangle "Cactus SDK" as cactussdk {
rectangle "API Client" as apiclient {
}
rectangle "Client Side\nRouter" as clientsiderouter {
}
}
}
}

cloud "Public Internet" as publicinternet {
}

frame "Cactus Backend" as cactus {
rectangle "API Server A" as apia {
rectangle "Connector\nPlugin A" as connectorplugina {
}
rectangle "Connector\nPlugin B" as connectorpluginb {
}
}
}


frame "Ledgers" as ledgers {
MA_DATABASE(Gray, 1, ledger1, rectangle, "Ledger 1") {
}
MA_DATABASE(Gray, 1, ledger2, rectangle, "Ledger 2") {
}
}

usera => apiclient: TX: Ledger 1
apiclient => clientsiderouter: TX: Ledger 1
clientsiderouter => publicinternet: TX: Ledger 1

publicinternet ==> connectorplugina: TX: Ledger 1
publicinternet -[#AAAAAA]-> connectorpluginb

connectorplugina ==> ledger1: TX: Ledger 1
connectorpluginb -[#AAAAAA]-> ledger2

@enduml
Loading