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

docs: Prepare documentation for FireFly v1.3.0 #1461

Merged
merged 13 commits into from
Apr 25, 2024

Conversation

SamMayWork
Copy link
Contributor

@SamMayWork SamMayWork commented Feb 2, 2024

For 1.3 this contains the migration guide, along with updates to tutorials and docs to match the breaking changes going into this release. Do shout if there's anything I've missed

Signed-off-by: SamMayWork <sam.may@kaleido.io>
Signed-off-by: SamMayWork <sam.may@kaleido.io>
Signed-off-by: SamMayWork <sam.may@kaleido.io>
@@ -9,6 +9,18 @@ has_children: true

[Full release notes](https://github.com/hyperledger/firefly/releases)

## [v1.3.0 - February XX, 2024](https://github.com/hyperledger/firefly/releases/tag/v1.1.0)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to update this before release 🚀

Signed-off-by: SamMayWork <sam.may@kaleido.io>
@codecov-commenter
Copy link

codecov-commenter commented Feb 8, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.99%. Comparing base (4029c55) to head (824b681).
Report is 5 commits behind head on main.

❗ Current head 824b681 differs from pull request most recent head a11836a. Consider uploading reports for the commit a11836a to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1461      +/-   ##
==========================================
- Coverage   99.99%   99.99%   -0.01%     
==========================================
  Files         322      322              
  Lines       23406    23301     -105     
==========================================
- Hits        23404    23299     -105     
  Misses          1        1              
  Partials        1        1              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@SamMayWork SamMayWork marked this pull request as ready for review February 8, 2024 14:54
@SamMayWork SamMayWork requested a review from a team as a code owner February 8, 2024 14:54
Copy link
Contributor

@nguyer nguyer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great start! Thank you so much for putting this together.

I realize there are a couple of features you may not have seen yet, but I think we need to add more details on:

  • The new multiparty contract
  • The ability to send messages / pin data with custom contract invocations

docs/releasenotes/1.3_migration_guide.md Outdated Show resolved Hide resolved
Comment on lines 25 to 27
## API definition/publication considerations

**As of FireFly v1.3.0, by default, contract interfaces, contracts APIs, and token pools are unpublished when they are created.**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two notes that I think should be added here:

  1. This only applies to multiparty namespaces
  2. This is a new feature, and I think the way we describe it should highlight the increased flexibility that it provides. We have differentiated creating a resource and publishing it, giving users more control over how and when data is shared in a multiparty namespace

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On these points I've opted for a slight-rewrite in this commit c137e9d, will request a re-review when we're in a good place.


In FireFly v1.2.0 to create one of the affected resources and publish it to other parties, a `POST` call would be made to its respective API route and the broadcast would happen immediately. To achieve the same behaviour in FireFly v1.3.0, there are 2 options for all impacted resources, either providing a query parameter at creation to signal immediate publish, or a subsequent API call to publish the resources.

> **NOTE**: All of the impacted resources can be deleted locally using `DELETE` APIs, however, once the resources has been published, it is no longer possible to delete.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually a pretty important new feature which I think should be highlighted a bit more prominently. Previously, if you made a mistake when creating a token pool (as an example) you could not create another one with the same name, etc so you were stuck with a broken REST resource. Now you have a chance to create it and use it on your FireFly node before publishing it and pinning it to the blockchain.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On these points I've opted for a slight-rewrite in this commit c137e9d, will request a re-review when we're in a good place.

docs/releasenotes/1.3_migration_guide.md Outdated Show resolved Hide resolved

Event streams now follow the format `<plugin_topic_name>/<namespace_name>`. For example, an event stream for the default namespace with a plugin topic of 0 would now be: `0/default`.

[For an exact view of the changes, see PR #1388.](https://github.com/hyperledger/firefly/pull/1388)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two other notes here that should be added:

  1. The migration from FireFly 1.2.x -> 1.3 will result in a rebuilding of the existing event streams. This means that connectors will replay past events to FireFly, but FireFly will automatically de-duplicate them by design so this is a safe operation.
  2. These changes should result in no impact to end users of FireFly. They are merely noted here in the release notes because they are a significant architectural change to the relationship between namespaces, plugins, and connectors.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Restructured with changes in c0b0901

What's New:

- Namespaces now have individual event streams
- Contract listeners now support having multiple filters
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if this one is going to make the cut


What's New:

- Namespaces now have individual event streams
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I would list this one first. It's not a very exciting feature to the end-user.

Signed-off-by: SamMayWork <sam.may@kaleido.io>
Signed-off-by: SamMayWork <sam.may@kaleido.io>
Signed-off-by: SamMayWork <sam.may@kaleido.io>
Signed-off-by: SamMayWork <sam.may@kaleido.io>
Signed-off-by: Nicko Guyer <nicko.guyer@kaleido.io>
Signed-off-by: Nicko Guyer <nicko.guyer@kaleido.io>
Signed-off-by: Nicko Guyer <nicko.guyer@kaleido.io>
Signed-off-by: Nicko Guyer <nicko.guyer@kaleido.io>
Copy link
Contributor

@EnriqueL8 EnriqueL8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a few merge conflicts <<< that need removing

@@ -104,8 +124,14 @@ See the [README](https://github.com/hyperledger/firefly-tokens-erc20-erc721/blob
You can pass a `config` object with an `address` and `blockNumber` when you make the request to create the token pool, and if you created a contract interface, you can include the `interface` ID as well.

#### Request
<<<<<<< HEAD:docs/tutorials/tokens/erc721.md
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a merge conflict there that needs fixing

@@ -52,6 +71,7 @@ If you're using the default ERC-20 / ERC-721 token connector and its sample toke
"type": "token_pool",
"id": "00678116-89d2-4295-990c-bd5ffa6e2434"
}
>>>>>>> main:doc-site/docs/tutorials/tokens/erc721.md
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

@@ -28,8 +28,14 @@ After your stack is up and running, the first thing you need to do is create a t
If you're using the default ERC-20 / ERC-721 token connector and its sample token factory, it will automatically deploy a new ERC-721 contract instance.

#### Request
<<<<<<< HEAD:docs/tutorials/tokens/erc721.md
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Signed-off-by: Nicko Guyer <nicko.guyer@kaleido.io>
Copy link
Contributor

@EnriqueL8 EnriqueL8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff!

@nguyer nguyer merged commit f41af92 into hyperledger:main Apr 25, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants