FuelLabs / fuels-rs

Fuel Network Rust SDK
https://fuellabs.github.io/fuels-rs
Apache License 2.0
44.17k stars 1.34k forks source link

Implement support for Upload and Upgrade transactions #1359

Open MujkicA opened 5 months ago

MujkicA commented 5 months ago

fuel-core has introduced two new transaction types which we need to implement support for.

See: https://specs.fuel.network/master/tx-format/transaction.html?highlight=Upgrade#transactionupgrade

https://specs.fuel.network/master/tx-format/transaction.html?highlight=Upgrade#transactionupload

Nahim0xf21 commented 4 months ago
Upgrading a blockchain transaction typically involves updating the underlying technology or protocol to improve performance, security, or functionality. Here are the general steps to upgrade a blockchain transaction:

1. *Proposal*: Suggest changes or upgrades to the blockchain protocol or technology.

2. *Development*: Implement the proposed changes through coding and testing.

3. *Testing*: Conduct thorough testing to ensure the upgrade is secure and functional.

4. *Consensus*: Reach agreement among network participants (e.g., miners, validators) to implement the upgrade.

5. *Deployment*: Roll out the upgrade to the blockchain network.

6. *Activation*: Enable the upgrade at a specific block height or timestamp.

7. *Monitoring*: Continuously monitor the network to ensure the upgrade is working as intended.

Some popular upgrade methods include:

1. *Hard fork*: A permanent divergence from the previous protocol, creating a new blockchain.
2. *Soft fork*: A backward-compatible upgrade that doesn't split the blockchain.
3. *Layer 2 scaling solutions*: Upgrades that improve scalability without modifying the underlying blockchain.
4. *Smart contract upgrades*: Updates to specific smart contracts, rather than the entire blockchain.

Remember, upgrading a blockchain transaction requires careful planning, testing, and consensus to ensure a smooth transition and maintain the integrity of the network.
  --
Upgrading a blockchain transaction typically involves updating the underlying technology or protocol to improve performance, security, or functionality. Here are the general steps to upgrade a blockchain transaction:

1. *Proposal*: Suggest changes or upgrades to the blockchain protocol or technology.

2. *Development*: Implement the proposed changes through coding and testing.

3. *Testing*: Conduct thorough testing to ensure the upgrade is secure and functional.

4. *Consensus*: Reach agreement among network participants (e.g., miners, validators) to implement the upgrade.

5. *Deployment*: Roll out the upgrade to the blockchain network.

6. *Activation*: Enable the upgrade at a specific block height or timestamp.

7. *Monitoring*: Continuously monitor the network to ensure the upgrade is working as intended.

Some popular upgrade methods include:

1. *Hard fork*: A permanent divergence from the previous protocol, creating a new blockchain.
2. *Soft fork*: A backward-compatible upgrade that doesn't split the blockchain.
3. *Layer 2 scaling solutions*: Upgrades that improve scalability without modifying the underlying blockchain.
4. *Smart contract upgrades*: Updates to specific smart contracts, rather than the entire blockchain.

Remember, upgrading a blockchain transaction requires careful planning, testing, and consensus to ensure a smooth transition and maintain the integrity of the network.