Skip to content

Commit

Permalink
docs(*): Update docs to release v0.3.0
Browse files Browse the repository at this point in the history
Signed-off-by: Tatsuya Sato <[email protected]>
  • Loading branch information
satota2 authored and shimos committed Oct 27, 2022
1 parent e01943b commit 214d182
Show file tree
Hide file tree
Showing 9 changed files with 55 additions and 7 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# - integration-test - runs integration tests for a specific fabric version
# - check-support-version - checks whether the specified FABRIC_TWO_DIGIT_VERSION is supported or not

BASE_VERSION = 0.2.0
BASE_VERSION = 0.3.0
FABRIC_TWO_DIGIT_VERSION ?= 2.4

SUPPORT_FABRIC_TWO_DIGIT_VERSIONS = 2.4 2.2
Expand Down
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -960,6 +960,15 @@ The current implementation has limitations. The main limitations are as follows:
## Changes
## v0.3.0 (Oct. 27, 2022)
- Add a voting config option for chaincode_ops - ([Detail](./docs/VotingConfigOption.md))
- This allows OpsSC users to configure the maximum number of malicious organizations (`f`) in the voting process
- This config option is not yet supported for channel_ops
- Add a function to update channel type and introduce `disable` channel type to channel_ops
- Support both Hyperledger Fabric v2.4 and v2.2 series (Out of scope: v2.3)
- Other minor improvements
### v0.2.0 (Oct. 5, 2021)
- Support chaincode deployment with private data for chaincode_ops
Expand All @@ -970,7 +979,7 @@ The current implementation has limitations. The main limitations are as follows:
### v0.1.0 (Jan. 9, 2021)
- The initial version of Operations Smart Contract (OpsSC) for Hyperledger Fabric v2.x
- Support chaincode operations (chaincode_ops): Streamline chaincode deployment with chaincode new lifecycle introduced from v2.x.
- Support chaincode operations (chaincode_ops): Streamline chaincode deployment with chaincode new lifecycle introduced from v2.x
- Support channel operations (channel_ops): Streamline channel configuration updates across multiple organizations (e.g., creating a channel, adding an organization, adding an orderer etc.)
## Authors
Expand Down
2 changes: 1 addition & 1 deletion common/src/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "opssc-common",
"version": "0.2.0",
"version": "0.3.0",
"description": "Common features for OpsSC",
"scripts": {
"prepare": "tsc",
Expand Down
1 change: 1 addition & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ This folder contains documents about OpsSC (e.g., Design memo).
## Contents

- [Design memo for OpsSC](./design)
- [Voting config option](./VotingConfigOption.md)
38 changes: 38 additions & 0 deletions docs/VotingConfigOption.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Voting Config Option

`chaincode_ops` chaincode provides a voting config option.
This allows OpsSC users to configure the maximum number of malicious organizations (`f`) in the voting process.
This config option is not yet supported for channel_ops.
- If the option is set, `2f + 1` is required to judge a proposal gets `Approved`.
- If the option is not set, a majority of all participating organizations is required to judge a proposal gets `Approved`.

You can use this to call the following CC functions in `chaincode_ops` chaincode.
- `SetMaxMaliciousOrgsInVotes()`: sets number of max malicious orgs in votes.
- `UnsetMaxMaliciousOrgsInVotes()`: unsets number of max malicious orgs in votes.
- `GetVotingConfig()`: returns the voting config.

## Example: Skip the Voting Process

By using this, it is possible to configure to skip the voting process from other organizations for chaincode proposals.
With this configuration, when a proposal request is sent by one organization via the REST API of the OpsSC API server,
the deployment of the proposed chaincode is automatically executed immediately.

The following command is an example by invoking the SC function via an OpsSC API server:

```bash
curl -X POST "http://localhost:3000/api/v1/utils/invokeTransaction" \
-H "Expect:" \
-H 'Content-Type: application/json; charset=utf-8' \
-d @- <<EOF
{
"channelID": "ops-channel",
"ccName": "chaincode_ops",
"func": "SetMaxMaliciousOrgsInVotes",
"args": ["0"]
}
EOF
```

_NOTE:_ In this configuration, chaincode is deployed by a single organization's decision (it means a centralized manner).
Note that this means that OpsSC is not used for the decentralized operations that it originally envisioned, which partially undermines the value it provides.
Of course, it is useful for testing or developing phase, etc.
2 changes: 1 addition & 1 deletion integration/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "opssc-integration",
"version": "0.2.0",
"version": "0.3.0",
"description": "Integration test for OpsSC",
"scripts": {
"test": "./node_modules/.bin/cucumber-js -p default",
Expand Down
2 changes: 1 addition & 1 deletion opssc-agent/src/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "opssc-agent",
"version": "0.2.0",
"version": "0.3.0",
"description": "OpsSC Agent",
"main": "opssc-agent.js",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion opssc-api-server/APISpecification.md
Original file line number Diff line number Diff line change
Expand Up @@ -833,7 +833,7 @@ None

- **Code:** 200 <br />
**Content:** The version of the API server <br />
`"0.2.0"`
`"0.3.0"`

- **Error Response:**

Expand Down
2 changes: 1 addition & 1 deletion opssc-api-server/src/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "opssc-api-server",
"version": "0.2.0",
"version": "0.3.0",
"description": "OpsSC API Server",
"main": "index.js",
"scripts": {
Expand Down

0 comments on commit 214d182

Please sign in to comment.