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

Build a countdown page for hardfork #817

Open
Keith-CY opened this issue Feb 13, 2025 · 28 comments
Open

Build a countdown page for hardfork #817

Keith-CY opened this issue Feb 13, 2025 · 28 comments
Assignees
Labels

Comments

@Keith-CY
Copy link
Member

Is your feature request related to a problem? Please describe.
Next hardfork of CKB will be scheduled soon, and there is expected to have a page for the public to learn about this hardfork.

The following information should be included

  1. Basic info of the hardfork, e.g. name, version, activation block number(estimated time), features involved;
  2. Compatibility information, e.g. CKB versions that support this hardfork;
  3. User instruction, e.g. recommended the upgrade time;
  4. Countdown display: e.g. remaining blocks and time;
  5. Adoption progress:
    5.1. percentage of nodes that support the hardfork
    5.2. miner pools
    5.3. exchanges
  6. Links to related posts, e.g. post in the forum, X
  7. Annotation for users, e.g. don't initiate large transfer during activation

Describe the solution you'd like
We can build a page for this event and make the banner a carousel for various news.

Additional context
The page is expected to be online before 3/1

@poor-defined
Copy link
Contributor

poor-defined commented Feb 17, 2025

Prototype here FYI @Kirl70 cc @Keith-CY

Updated with latest readable link(02-26)

@Keith-CY
Copy link
Member Author

Prototype here FYI @Kirl70 cc @Keith-CY

This PRD requires login with a QQ account or mobile number, is it possible to be public for everyone?

@poor-defined
Copy link
Contributor

This PRD requires login with a QQ account or mobile number, is it possible to be public for everyone?

Sorry about it, I just checked the related settings, it could be public for everyone, please try it again

@poor-defined
Copy link
Contributor

I marked the page here, coz it seems that I can't share the specific page with URL

Image

@Keith-CY
Copy link
Member Author

I marked the page here, coz it seems that I can't share the specific page with URL

Image

Still need to login to review the document

@poor-defined poor-defined moved this to 🎨 Designing in CKB Explorer Feb 20, 2025
@Kirl70
Copy link

Kirl70 commented Feb 20, 2025

Design Draft:
https://www.figma.com/design/6XNoimRDbFTTNm016rbIdU/Magickbase?node-id=48513-83686&t=ZQQZJXqHcEibskun-1

Image

Considering the launch time and development difficulty, the head animation should be kept as simple as possible while effectively conveying the new Hardfork to users.

The head animation will use blocks to represent the transition between the old and new Hardfork. When the mouse hovers over a block, hover information will appear. Therefore, animation development is required.

This is a sample animation:

Countdown.page.mp4

@PainterPuppets
Copy link

Design Draft: https://www.figma.com/design/6XNoimRDbFTTNm016rbIdU/Magickbase?node-id=48513-83686&t=ZQQZJXqHcEibskun-1

Image Considering the launch time and development difficulty, the head animation should be kept as simple as possible while effectively conveying the new Hardfork to users.

The head animation will use blocks to represent the transition between the old and new Hardfork. When the mouse hovers over a block, hover information will appear. Therefore, animation development is required.

This is a sample animation:

Countdown.page.mp4

Where should I get this animation?

@Kirl70
Copy link

Kirl70 commented Feb 26, 2025

Design Draft: https://www.figma.com/design/6XNoimRDbFTTNm016rbIdU/Magickbase?node-id=48513-83686&t=ZQQZJXqHcEibskun-1
Image
Considering the launch time and development difficulty, the head animation should be kept as simple as possible while effectively conveying the new Hardfork to users.
The head animation will use blocks to represent the transition between the old and new Hardfork. When the mouse hovers over a block, hover information will appear. Therefore, animation development is required.
This is a sample animation:
Countdown.page.mp4

Where should I get this animation?

Because there is an interactive element that displays information on mouse hover, the animation should be paused when hovered. Therefore, this animation needs to be developed. As shown in the design draft, the previous animation was only a sample.

Image

@Keith-CY
Copy link
Member Author

Keith-CY commented Feb 26, 2025

The head animation will use blocks to represent the transition between the old and new Hardfork. When the mouse hovers over a block, hover information will appear

hash type: data2 will be introduced by the hardfork and then there will be 3(data, data1, data2) instead of 2d(data, data1). Sound reasonable.


The space between cubes is sparse
Image

while in the square it's not
Image

We could make them consistent, and similar to cell patterns of CKB

Image @Kirl70

Update: it looks like the space in the square is parsed in the animation.

@PainterPuppets
Copy link

PainterPuppets commented Feb 26, 2025

Because there is an interactive element that displays information on mouse hover, the animation should be paused when hovered. Therefore, this animation needs to be developed. As shown in the design draft, the previous animation was only a sample.

@Kirl70

3d effects involve a lot of issues with renderers and lighting modeling, and are basically impossible to develop by self. vector animation is recommended here if we want to have motion effects.

@Keith-CY
Copy link
Member Author

Keith-CY commented Feb 26, 2025

Because there is an interactive element that displays information on mouse hover, the animation should be paused when hovered. Therefore, this animation needs to be developed. As shown in the design draft, the previous animation was only a sample.

@Kirl70

3d effects involve a lot of issues with renderers and lighting modeling, and are basically impossible to develop by self. vector animation is recommended here if we want to have motion effects.

We can use a gif for the 3d cube.

@poor-defined
Copy link
Contributor

@Keith-CY What about developing it by Lottie? Will it be a solution for this situation?
I guess it requires @Kirl70 to develop some part of the animation

@Keith-CY
Copy link
Member Author

@Keith-CY What about developing it by Lottie? Will it be a solution for this situation? I guess it requires @Kirl70 to develop some part of the animation

We can use a gif of a rotating cube for the 3d stuff and move it horizontally by code. Lottie is not required

@poor-defined
Copy link
Contributor

@Keith-CY What about developing it by Lottie? Will it be a solution for this situation? I guess it requires @Kirl70 to develop some part of the animation

We can use a gif of a rotating cube for the 3d stuff and move it horizontally by code. Lottie is not required

Got it, the light on the cube is not affect by its position, so it should be achievable. cc @PainterPuppets

@Keith-CY
Copy link
Member Author

@poor-defined
Copy link
Contributor

@poor-defined
Copy link
Contributor

Maybe a firework effect could be there as well only if it wont affect the animation above

Image

https://codepen.io/yshlin/pen/WNMmQX

@Kirl70
Copy link

Kirl70 commented Feb 26, 2025

@Keith-CY What about developing it by Lottie? Will it be a solution for this situation? I guess it requires @Kirl70 to develop some part of the animation

We can use a gif of a rotating cube for the 3d stuff and move it horizontally by code. Lottie is not required

Got it, the light on the cube is not affect by its position, so it should be achievable. cc @PainterPuppets

This is a 3D block GIF image that lasts for 4 seconds. Combined with the preceding 2D block segment, the entire block moves across the screen in 8 seconds.

3D block.gif.zip

Image

@Keith-CY
Copy link
Member Author

Maybe a firework effect could be there as well only if it wont affect the animation above

Image [codepen.io/yshlin/pen/WNMmQX](https://codepen.io/yshlin/pen/WNMmQX)

Try

Image

https://magicui.design/docs/components/confetti

and

Image

https://ui.aceternity.com/components/sparkles

@poor-defined
Copy link
Contributor

This is a 3D block GIF image that lasts for 4 seconds. Combined with the preceding 2D block segment, the entire block moves across the screen in 8 seconds.

3D block.gif.zip

Image

A small problem on my computer here is that I found some snow-like things on the cube's surfaces

Image

I'm not sure if it's on purpose or not.

@Kirl70
Copy link

Kirl70 commented Feb 26, 2025

A small problem on my computer here is that I found some snow-like things on the cube's surfaces

Image I'm not sure if it's on purpose or not.

This is the image quality after reducing file size. On a black background, the reduction won't be very noticeable. If the effect isn't satisfactory after launch, we can consider using the uncompressed quality.

@poor-defined
Copy link
Contributor

https://docs.nervos.org/docs/history-and-hard-forks/intro-to-hard-fork nervosnetwork/ckb#4806 https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0051-ckb2023/0051-ckb2023.md

can be summarized by AI and displayed in this part

Image

info_and_discussion_about_hardfork.json

Just summarized 14 pieces of news/info/discussions.

I write them in forms of:

    {
        "name":"Nervos CKB Docs",
        "avatars": "",
        "content":"What is.....er apply.",
        "date":"",
        "link":"https:/.......ard-fork"
    },

I leave the avatars and date empty. We do need avatars based on the UI, but I'm not sure in which forms I should provide it in json. @Keith-CY cc @PainterPuppets
And abou the date, I just leave it there in case we MAY use it. Also may not :)

@poor-defined
Copy link
Contributor

poor-defined commented Feb 26, 2025

About the Name of "CKB2023" in the RFC

I once read a proposal , a draft one I think, which says the original name of CKB edition which derived form the year number should be replaced by an official name, but we can still see words like CKB2023 in the RFC document. Should we replace it by "CKB Meepo" or using CKB2023 is still fine.

@Keith-CY

@Keith-CY
Copy link
Member Author

docs.nervos.org/docs/history-and-hard-forks/intro-to-hard-fork nervosnetwork/ckb#4806 nervosnetwork/rfcs@master/rfcs/0051-ckb2023/0051-ckb2023.md
can be summarized by AI and displayed in this part
Image

info_and_discussion_about_hardfork.json

Just summarized 14 pieces of news/info/discussions.

I write them in forms of:

    {
        "name":"Nervos CKB Docs",
        "avatars": "",
        "content":"What is.....er apply.",
        "date":"",
        "link":"https:/.......ard-fork"
    },

I leave the avatars and date empty. We do need avatars based on the UI, but I'm not sure in which forms I should provide it in json. @Keith-CY cc @PainterPuppets And abou the date, I just leave it there in case we MAY use it. Also may not :)

We can use the logo/avatar of the information source, they are accessible by img link

@Keith-CY
Copy link
Member Author

About the Name of "CKB2023" in the RFC

I once saw a proposal , a draft one I think, which says the original name of CKB edition which derived form the year number should be replaced by an official name, but we can still see words like CKB2023 in the RFC document. Should we replace it by "CKB Meepo" or using CKB2023 is still fine.

@Keith-CY

CKB2023 refers to the last hardfork, I think the page's content is not updated for CKB2025, i.e. Meepo. We can summarize it later.

@poor-defined
Copy link
Contributor

poor-defined commented Feb 26, 2025

Instead of using summaries from RFC0051, I replaced them with summaries from this RFC (https://github.com/nervosnetwork/rfcs/tree/3a6ae4fa5d59b6e33fa7bd563d336706d135c0d8/rfcs/0053-ckb-hardfork) though it's not merged into the master branch.

Latest file here: @PainterPuppets
info_and_discussion_about_hardfork.json

I thought there should be a official RPC for this harkfork as it was for edition 2023, but as you said, it's not updated now.
Once it updated, I will updated the link as well

    {
        "name":"CKB Consensus Change",
        "avatars": "",
        "content":"The final ph...upgrade.",
        "date":"",
        "link":"https://github.com/nervosnetwork/rfcs/blob/3a6ae4fa5d59b6e33fa7bd563d336706d135c0d8/rfcs/0053-ckb-hardfork/0053-ckb-hardfork.md"
    }

cc @Keith-CY

@poor-defined
Copy link
Contributor

Updated with avatar link cc @PainterPuppets
info_and_discussion_about_hardfork.json

@poor-defined
Copy link
Contributor

Related Features Text on the page:

Image

@PainterPuppets

CKB-VM V2

One notable addition is the inclusion of a new system call called "Spawn," which can be further explored in the RFC50: CKB-VM Syscalls 3. In essence, Spawn serves as an alternative to dynamic library calls and Exec. With Spawn, a Script can create a child Script with an independent memory area, and data can be passed between the parent and child Scripts without restriction.
Implemented more macro-op fusions to reduce cycle consumption, making Scripts run more efficiently.
Added a new data2 value in the Scripthash_type field to smoothly manage different VM versions, ensuring a seamless upgrade path.

Spawn: Direct Cross-Script Calling

The Meepo hard fork in 2025 has introduced a range of enhancements into CKB Script development, with one major innovation being Spawn.

In CKB Script, Spawn refers to a concept and a set of syscalls for creating new processes. Unlike the exec syscall introduced during CKB’s first hard fork in 2021, Spawn enables direct cross-script calls, simplifying development process while offering greater control and optimization.

Fee Estimator

As the number of transactions on CKB continues to grow, accurate fee rate estimation becomes increasingly essential. CKB v0.120.0 introduces a new experimental feature, Fee Estimator, to help developers and users determine optimal transaction fee rates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: 🎨 Designing
Development

No branches or pull requests

4 participants