Iris release candidate

Hi all,

Since the iris hardfork vote is done, we’ve released the first release candidate. It is not finalised as it is missing the forking height. There are also some known issues we want to fix before declaring a final one. Even so, you are welcome to download it and test it locally.
https://github.com/aeternity/aeternity/releases/tag/v0.0.0-iris

In order to test it locally, you should add this to your aeternity.yaml config:

  chain:
    hard_forks:
      "1": 0
      "5": 1

 fork_management:
    network_id: "my_test_iris"

This will activate iris at height of 1.

Your feedback is welcome :slight_smile:

7 Likes

the current dev version of the java-sdk is already compatible to Iris and supports e.g. the new tx-type PayingForTx. if somebody wants to test it prior to the hardfork pm me :slight_smile:

6 Likes

Regarding SDKs, the old JS SDK is not to work with the test release above: it has a check to be working only with lima and expects a version 5.0.0 - 5.9.9, so neither 0.0.0, nor 6.0.0 would work. If someone wants to use the SDK, they have to manually edit the VERSION file in the root dir to be something acceptable by the SDK.

We can not release a test release with a vesion 5.* as it would go agains all semver rules…

7 Likes

Hi all,

We’ve wrapped around all the protocol issues we are aware of and prepared the first release candidate, tagged as v6.0.0-rc1. It includes all the changes introduced by the v0.0.0-iris test release above and some small tweaks, for example the gas pricing model had been revisited heavily. Gas consumption must correspond to computations made and @hanssv.chain had made an extra effort balancing those. Kudos to him for that.

Again - you can spin a node of your own with the following setup:

  chain:
    hard_forks:
      "1": 0
      "5": 1

 fork_management:
    network_id: "my_test_iris"

If you want, you can also join the testnet - this release candidate is already deployed there. In order to do this you only have to change the network id of your node to ae_uat. The node will connect with testnet nodes and download the testnet blockchain. The forking point for testnet is set up to be at height 425900, which we expect to happen somewhere around noon CET on 5th May, Wednesday.

You can also test the upgraded JS SDK, it handles all the API changes the node brings. Kudos for @davidyuk for the hard work.

The forking point for main net is not yet set in this release. We want to do some more tests and once we are happy with the results, we will produce v6.0.0 with the forking point set. Stay tuned :slight_smile:

5 Likes

Greetings,

I tried to run it by changing the config inside the docker folder aeproject
And re-run the aeproject env with the above configs

---
peers:
    - aenode://pp_28uQUgsPcsy7TQwnRxhF8GMKU4ykFLKsgf4TwDwPMNaSCXwWV8@node2:3015
    - aenode://pp_Dxq41rJN33j26MLqryvh7AnhuZywefWKEPBiiYu2Da2vDWLBq@node3:3015

http:
  external:
    port: 3013
  internal:
    debug_endpoints: true
    port: 3113
    listen_address: 0.0.0.0


websocket:
  channel:
    listen_address: 0.0.0.0
    port: 3014

keys:
  peer_password: "top secret"
  dir: ./keys

# chain:
#   persist: true
#   hard_forks:
#     "1": 0
#     "2": 1
#     "3": 2
#     "4": 3

chain:
  hard_forks:
    "1": 0
    "5": 1

  

mining:
  autostart: true
  beneficiary: "ak_2mwRmUeYmfuW93ti9HMSUJzCk1EYcQEfikVSzgo6k2VghsWhgU"
  beneficiary_reward_delay: 2
  expected_mine_rate: 4000
  micro_block_cycle: 1000
  cuckoo:
    miner:
      executable: mean15-generic
      extra_args: ""
      edge_bits: 15

# fork_management:
#   network_id: "ae_devnet"
# fork_management:
#   network_id: "ae_uat"
fork_management:
  network_id: "my_test_iris"


I tried with ae_uat and custom_name as network id but I am receiving this error.

And with latest running compiler nodes, I am still unable to run a contract with interface It gives error as I am trying to add a class there.

From the tests here to try with new opcodes :slight_smile: :

I tried with all these docker images but same error as above

    image: 'aeternity/aeternity:${NODE_TAG}' #whichever that is
    image: 'aeternity/aeternity:v6.0.0-rc1'
    image: 'aeternity/aeternity:v0.0.0-iris'
2 Likes

No idea about the Invalid tx - best guess is that the code that generate the TX hasn’t picked up the network name “my_test_iris” from the config (network name is part of the serialized version of the tx used for signing).

The compiler for the new contract related OP-codes isn’t done yet. @radrow.chain is working on that, I don’t know when it can be expected…

3 Likes

Great guess @hanssv.chain

I changed aeproject-config node config to my network id name my_test_iris and it worked. I also replaced this name at many different places and none worked, it only worked after changing this one.

I think instead of those changes on different files, I just need to change my_iris_testnet to appropriate name what other libraries already expect with iris node.

I have one more question: If there is no compiler, Will the code deploys to a local or testnet node if it has any syntax error?

2 Likes

Hi @VitalJeevanjot,

a new release of aeproject will be released shortly. You can follow the progress in this PR:

You can already use the current state of this PR but there we are still relying on compiler v5.0.0 currently. It will be updated to the new compiler v6.0.0 very soon.

To use the current WIP state of aeproject follow these steps:

  1. clone https://github.com/marc0olo/aepp-aeproject-js
  2. checkout the branch iris-compatibility
  3. run npm install
  4. run npm-link

After these 4 steps (on the correct branch!) you will be able to use aeproject init in a folder of your choice which will spin up an Iris setup when running aeproject env.

Unfortunately - if you have an Apple M1 - you currently won’t be able to use it as the docker container crashes immediately on startup. Otherwise you should be fine.

3 Likes