About this release
Last updated
Was this helpful?
Last updated
Was this helpful?
is a major Fortuna release, mainly aimed at easing development of applications using state channels in the presence of generic accounts. It:
Introduces State Channel FSM Generalized Accounts awareness. It now fully supports creation of meta transactions and verifies them.
Changes WebSocket API regarding signing transactions: now sign requests provide a signed transaction to be signed. Old approach was sending unsigned transactions.
Changes channel reestablish checks: for on-chain transactions authentication can not always be checked at current chain top. Check is done, if the last transaction is an on-chain one, it must be present in on-chain.
Changes the off-chain protocol to accommodate Generalized Account authentication methods. This is off-chain noise protocol breaking change.
Enhances the state Channels WebSocket API, that now supports starting a responder with "initiator_id": "any"
.
The responder instance will get the proper initiator Id from the channel_open
message once a
connection is established.
Enables multiple different State Channel responder pubkeys to share the same listen port.
Changes the channel_open
and channel_accept
messages to contain both the initiator and
responder public keys. This is not backwards compatible for the noise
protocol.
Enhances State Channel's WebSocket API with providing more meaningful messages when failing to open a channel because of invalid opening arguments.
Makes State Channel WebSocket API more consistent regarding the usage ofcaller
and contract
vs caller_id
and contract_id
. This is an API
breaking change.
Allows sending and receiving generic messages in State Channels in any FSM
state. Until this - generic messages were allowed only in open
state.channel_id
is part of the message body and if it is unknown - the
temporary one is used instead. This is not backwards compatible for thenoise
protocol. This enhances the WebSocket API accordingly.
Fixes the value of the discriminator field (type
) for the oracle response transaction in the user API paths returning transactions (e.g. path /transactions/{hash}
).
Enhances the response of the dry-run API (path /debug/transactions/dry-run
) for contract create transaction by adding the information for the call of the initialization function e.g. the gas used. This makes the response of the dry-run for the contract create transaction analogous to the one for the contract call transaction.
This release introduces backward incompatibilities in the channels user WebSocket API and in the channels external Noise endpoint protocol.
For the rest, this release is backward compatible with previous v3.*
releases.
Please join the mainnet by following the instructions below, and let us know if you have any problems by . Troubleshooting of common issues is documented .
The instructions below describe:
;
;
.
.
You can run a node by either:
The node user API is documented:
A JSON version of the same specification is located in the node at path lib/aehttp-*/priv/swagger.json
(you will need to amend the wildcard *
placeholder in the path with the version).
The JSON version can be obtained from a running node using the endpoint /api
.
The release package comes preconfigured with seed nodes. Here is example subset of the seed nodes:
aenode://pp_2L8A5vSjnkLtfFNpJNgP9HbmGLD7ZAGFxoof47N8L4yyLAyyMi@18.136.37.63:3015
aenode://pp_2gPZjuPnJnTVEbrB9Qgv7f4MdhM4Jh6PD22mB2iBA1g7FRvHTk@52.220.198.72:3015
aenode://[email protected]:3015
aenode://pp_2mwr9ikcyUDUWTeTQqdu8WJeQs845nYPPqjafjcGcRWUx4p85P@3.17.30.101:3015
aenode://pp_2CAJwwmM2ZVBHYFB6na1M17roQNuRi98k6WPFcoBMfUXvsezVU@13.58.177.66:3015
aenode://pp_7N7dkCbg39MYzQv3vCrmjVNfy6QkoVmJe3VtiZ3HRncvTWAAX@13.53.114.199:3015
aenode://pp_22FndjTkMMXZ5gunCTUyeMPbgoL53smqpM4m1Jz5fVuJmPXm24@13.53.149.181:3015
aenode://pp_Xgsqi4hYAjXn9BmrU4DXWT7jURy2GoBPmrHfiCoDVd3UPQYcU@13.53.164.121:3015
aenode://[email protected]:3015
Here are example nodes that can be used to inspect current top block and see information about e.g. height or target:
http://18.136.37.63:3013/v2/blocks/top
http://52.220.198.72:3013/v2/blocks/top
http://13.53.114.199:3013/v2/blocks/top
http://13.53.149.181:3013/v2/blocks/top
The release package comes preconfigured with testnet seed nodes, this is the list:
aenode://pp_QU9CvhAQH56a2kA15tCnWPRJ2srMJW8ZmfbbFTAy7eG4o16Bf@52.10.46.160:3015
aenode://pp_27xmgQ4N1E3QwHyoutLtZsHW5DSW4zneQJ3CxT5JbUejxtFuAu@13.250.162.250:3015
aenode://pp_DMLqy7Zuhoxe2FzpydyQTgwCJ52wouzxtHWsPGo51XDcxc5c8@13.53.161.215:3015
The core nodes of the public test network are accessible from the Internet.
Information, e.g. height, of the top block of the longest chain as seen by these core nodes of the testnet can be obtained by opening in the browser any of the following URLs:
http://52.10.46.160:3013/v2/blocks/top
http://13.250.162.250:3013/v2/blocks/top
http://13.53.161.215:3013/v2/blocks/top
Setting up your node consists of:
Installing the published corresponding to your platform; or
Running the published ; or
.
The instructions for configuring the node using the Docker image are in .
HTTP API endpoints are specified ;
An interactive visualization of the same specification is available .
WebSocket API endpoints are ;
The intended usage of the user API (HTTP and WebSocket) is .
The instructions for installing a node using a release binary are in .
For installation of a node using the Docker image, please refer to the .
In order to join the mainnet follow the to run the node with default configuration as mainnet is the default network.
To join the mainnet by using the Docker image, please refer to .
In order to join the testnet change the in node configuration file to ae_uat
.
To join the testnet by using the Docker image, please refer to the .
Configuring your node - see instructions in ;
Starting your node and verifying it works as expected - see instructions in .