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

RFC34: vm syscalls 2 #237

Merged
merged 6 commits into from
Mar 31, 2022
Merged

RFC34: vm syscalls 2 #237

merged 6 commits into from
Mar 31, 2022

Conversation

mohanson
Copy link
Contributor

No description provided.

@mohanson mohanson requested review from xxuejie and a team as code owners May 27, 2021 06:51
@mohanson mohanson requested a review from zhangsoledad May 27, 2021 06:51
@doitian doitian added the ckb2021 Hard fork scheduled in 2021 label Jun 15, 2021
@doitian
Copy link
Member

doitian commented Jun 15, 2021

Please mention #232 how the node selects VM versions and these syscalls are only available since ckb version 1 and ckb2021.

[rfc232](../0232-ckb-vm-version-selection/0232-ckb-vm-version-selection.md)

@mohanson
Copy link
Contributor Author

Please mention #232 how the node selects VM versions and these syscalls are only available since ckb version 1 and ckb2021.

[rfc232](../0232-ckb-vm-version-selection/0232-ckb-vm-version-selection.md)

done

@doitian doitian added hard-fork b:consensus Break consensus labels Jun 26, 2021
bors bot added a commit to nervosnetwork/ckb that referenced this pull request Jul 1, 2021
2756: feat(hardfork): ckb2021 hardfork features (vm related part) r=doitian,quake a=yangby-cryptape

### Changes

- New hardfork Features

  -  [CKB-RFCs PR 236: RFC: ckb vm version1 changes](nervosnetwork/rfcs#236)

  -  [CKB-RFCs PR 237: RFC: vm syscalls 2](nervosnetwork/rfcs#237)

  -  [CKB-RFCs PR 238: CKB VM version selection](nervosnetwork/rfcs#238)

- All changes are followed to the latest RFCs, except:

  - Add a "edition" field to all configuration files: CKB chain specification or app configurations.

#### CKB Chain Edition

- If no `edition` field, the default edition is `"2019"`.

-  After this PR, the default files created by `ckb init` will be edition `"2021"` files.

   But the public chains will still use the edition `"2019"` CKB chain specification as the built-in spec.

   At present, there are only to public chains: "mainnet" and "testnet".

- The edition `"2019"` doesn't support hardfork parameters.

- How to upgrade from edition `"2019"` to `"2021"`?

  Modify your spec file (default is `specs/dev.toml`), `ckb.toml` and `ckb-miner.toml`:

    - Update all `hash_type = "data"` to `hash_type.kind = "data"` and `hash_type.vm_version = 0`.

    - Update all `hash_type = "type"` to `hash_type.kind = "type"`.

    - Insert `edition = "2021"` into the head of the files.

  After upgrade the edition of chain specification,  the first time to run the CKB, you have to use `--overwrite-spec` parameter. The details of this parameter can be found with `ckb run --help`.

### BREAKING CHANGES

- The field `hash_type` in `Script` is changed from a `String` to an `Object` for all JSON RPC methods.

  The details can be found in the latest RFCs.

- The argument `--ba-hash-type` for `ckb init` is split into two arguments: `--ba-hash-type-kind` and `--ba-hash-type-vm-version`.

  More details can be found with `ckb-release init --help`.

Co-authored-by: mohanson <mohanson@outlook.com>
Co-authored-by: Boyu Yang <yangby@cryptape.com>
@doitian doitian mentioned this pull request Jul 23, 2021
14 tasks
@doitian
Copy link
Member

doitian commented Jul 23, 2021

Please change RFC numbers according to #246 . Sorry for the inconvenience.

@doitian doitian changed the title RFC: vm syscalls 2 RFC34: vm syscalls 2 Jul 23, 2021
@doitian doitian requested review from doitian and quake and removed request for zhangsoledad March 4, 2022 02:14
@doitian
Copy link
Member

doitian commented Mar 4, 2022

Assigned reviewers: @quake @doitian

@doitian doitian added the s:fcp Final Comment Period. PR is merged when there's no comments in 14 days. label Mar 14, 2022
@doitian
Copy link
Member

doitian commented Mar 18, 2022

FCP will end on 2022-03-28

@doitian doitian merged commit 0b519ee into nervosnetwork:master Mar 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
b:consensus Break consensus ckb2021 Hard fork scheduled in 2021 hard-fork s:fcp Final Comment Period. PR is merged when there's no comments in 14 days.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants