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

Juno updates #723

Merged
merged 9 commits into from
Aug 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -36,22 +36,6 @@ Possible reasons for transaction rejection:
* An assertion failed during the execution of the transaction (in Starknet, unlike in Ethereum, transaction executions do not always succeed).
* The block may be rejected on L1, thus changing the transaction status to `REJECTED`.

[id="the_pending_block"]
== The pending block

Today, Starknet supports querying the new block before its construction is complete. This feature improves the responsiveness of the system prior to the decentralization phase, but will probably become obsolete once the system is decentralized, as full nodes will only propagate finalized blocks through the network.

During the construction of the block, as it is accumulating new transactions, the block's status is `PENDING`. While status is `PENDING`, new transactions are dynamically added to the block. Once the sequencer decides to close the block, it becomes `ACCEPTED_ON_L2` and its hash is computed.

The following example is a query for the pending mainnet block:

https://alpha-mainnet.starknet.io/feeder_gateway/get_block?blockNumber=pending

See the xref:tools:CLI/commands.adoc[CLI section] for information on how to call the gateway with
respect to
the
pending block.

[id="transaction_receipt"]
== Transaction receipt

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,14 @@ During the execution of a Starknet transaction, a contract on Starknet sends an

For example:

[source,js]
[source,rs]
----
let (message_payload : felt*) = alloc()
assert message_payload[0] = <payload_parameter>
// potentially add more elements to message_payload (message_payload[1], message_payload[2], etc.)
let mut payload: Array<felt252> = ArrayTrait::new();
let to_address: EthAddress = 1_felt252.try_into().unwrap();
payload.append(1);
// potentially add more elements to payload (payload[1], payload[2], etc.)

assert_lt_felt(to_address, ETH_ADDRESS_BOUND)
assert_not_zero(to_address)
send_message_to_l1(to_address=to_address, payload_size=1, payload=message_payload)
send_message_to_l1_syscall(to_address: to_address.into(), payload: payload.span());
----

After the state update that included this transaction is proved and the L1 state is updated, the message is stored on L1 in the Starknet Core Contract (and the relevant counter is increased), and the `LogMessageToL1` event (which contains the message parameters) is emitted.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,29 @@ Juno is a golang Starknet node implementation by https://nethermind.io/[Nethermi

See the official https://github.com/NethermindEth/juno[Juno GitHub repository] for more details.

== https://github.com/NethermindEth/juno/releases/tag/v0.4.1[v0.4.1] (latest)
== https://github.com/NethermindEth/juno/releases/tag/v0.5.0[v0.5.0] (latest)

This release adds support for the upcoming Starknet v0.12.1 upgrade and includes compatibility with v0.4.0 of the RPC specification.

=== Added

* Support for Starknet v0.12.1
* Compatibility with v0.4.0 of the RPC specification
* New RPC method: `starknet_estimateMessageFee`
* Health Check Endpoint: A GET request to the / endpoint will now return a 200 status code for a healthy Juno node
* Added Prometheus metrics support: Use `--metrics` and `--metrics-port` to enable this feature

=== Changed

* Adjusted worker number for sync process, improving performance
* Updated blockifier for starknet v0.12.1

=== Fixed

* Resolved issues causing context cancelled errors in write RPC methods
* Mapped gateway errors to write API RPC errors, improving error handling

== https://github.com/NethermindEth/juno/releases/tag/v0.4.1[v0.4.1]

== Added

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ transaction failures.

These enhancements will significantly improve the efficiency of the sequencer capacity and optimize the processing potential of Starknet for valid transactions.

#### Keccak builtins:
#### Keccak builtin:

A new builtin, the Keccak builtin, will be supported on Starknet starting from version v0.12.1. This means that the Keccak function will be available for use within the Starknet network, providing additional functionality and capabilities to developers and users.
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,25 @@ The current version on each environment are listed within the table below:
[%autowidth.stretch]
|===
|*Environment* |*Starknet version*|*Cairo version*
|Mainnet|0.12.0|2.0.0
|Goerli Testnet 1|0.12.0|2.0.0
|Goerli Testnet 2|0.12.0|2.0.0
|Mainnet|0.12.0|2.0.2
|Goerli Testnet 1|0.12.1|2.1.0
|Goerli Testnet 2|0.12.1|2.1.0
|===

[id="version0.12.0"]

== Starknet v0.12.1 (August 7th, 23)

Starknet v0.12.1 is live on both Testnets.

This version includes the following changes:

* Mempool Validation.
* Inclusion of Failed Transactions.
* Keccak builtin.

You can read more about these changes on the xref:starknet_versions:upcoming_versions.adoc[upcoming versions] page.

== Starknet v0.12.0 (July 12th, 23)

Starknet v0.12.0 is live on Mainnet.
Expand Down
2 changes: 1 addition & 1 deletion components/Starknet/modules/tools/nav.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
* Tools
** xref:CLI/starkli.adoc[Starkli CLI (recommended)]
** xref:CLI/commands.adoc[Starknet CLI reference (deprecated)]
** xref:api_rpc.adoc[Starknet full-nodes & API services]
** xref:api_rpc.adoc[Starknet full-nodes and API services]
** xref:ref_block_explorers.adoc[Starknet block explorers]
** xref:CLI/starknet-compiler-options.adoc[Starknet compiler reference]
4 changes: 2 additions & 2 deletions components/Starknet/modules/tools/pages/api_rpc.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
= Full-nodes & API services
= Full-nodes and API services

A list of recommended full-nodes & API providers.
A list of recommended full-nodes and API providers.

.Node providers
[cols="1,2,1",stripes=even]
Expand Down
Loading