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

Prioritization Fee function enabling #26017

Closed
12 of 15 tasks
tao-stones opened this issue Jun 17, 2022 · 3 comments
Closed
12 of 15 tasks

Prioritization Fee function enabling #26017

tao-stones opened this issue Jun 17, 2022 · 3 comments

Comments

@tao-stones
Copy link
Contributor

tao-stones commented Jun 17, 2022

Problem

User should be able to land their transactions even when leaders are loaded or required write accounts are highly contended, if willing to bid for the access of the limited resources.

This is a subset of #23211 to zoom in Priority Fee function rollout;

Project Transaction Prioritization tracks tasks.

Proposed Solution

Allow users to pay prioritization_fee via compute_budget instruction. The transaction with highest prioritization_fee has highest priority to be considered by leader for block inclusion.

prioritization_fee is defined as micro-lamport per compute-unit that user wants to pay for the transactions. For example, if a transaction's compute_budget instruction specifies priority_fee as 1,000 micro-lamports per cu, and requested_cu as 100,000 CUs, this transaction will be prioritized with 1,000 as priority-fee, and be charged for a priority-fee of (1,000 micro-lamport/cu * 100,000 cu = 0.1 lamport). The priority-fee will be accounted into transaction total-fee (alone with signature fee, write lock fee, compute fee).

This schema encourages dev to request accurate CU (to lower total_fee), and allows users willing to pay to prioritize their transactions.

V0 Rollout Progress

V1 tasks:

@bluto658
Copy link

Why not alter the transaction model to not only take into account absolute compute, but also if the compute can be parallelized?

@steveluscher
Copy link
Contributor

@taozhu-chicago, would you like to add a task for me here to add a transaction prioritization API to the JavaScript library (@solana/web3.js)?

@tao-stones
Copy link
Contributor Author

@taozhu-chicago, would you like to add a task for me here to add a transaction prioritization API to the JavaScript library (@solana/web3.js)?

Added, issue solana-labs/solana-web3.js#1099; It is also tracked in project https://github.com/solana-labs/solana/projects/73

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants