一起来读源码41-eosio.cdt privileged

摘要:

负责特权部分,说实话没看懂

 

详情:

privileged.hpp

定义导出c函数

//

bool is_privileged( uint64_t account );

void get_resource_limits( uint64_t account, int64_t* ram_bytes, int64_t* net_weight, int64_t* cpu_weight );

void set_resource_limits( uint64_t account, int64_t ram_bytes, int64_t net_weight, int64_t cpu_weight );

void set_privileged( uint64_t account, bool is_priv );

void set_blockchain_parameters_packed( char* data, uint32_t datalen );

uint32_t get_blockchain_parameters_packed( char* data, uint32_t datalen );

int64_t set_proposed_producers( char*, uint32_t );

void preactivate_feature( const capi_checksum256* feature_digest );

int64_t set_proposed_producers_ex( uint64_t producer_data_format, char *producer_data, uint32_t producer_data_size );

定义类

struct blockchain_parameters {

uint64_t max_block_net_usage; //块最大网络限制

uint32_t target_block_net_usage_pct; //目标块最大网络使用百分比限制

uint32_t max_transaction_net_usage; //传输最大网络限制

uint32_t base_per_transaction_net_usage; //

uint32_t net_usage_leeway; //网络自由空间

uint32_t context_free_discount_net_usage_num;

uint32_t context_free_discount_net_usage_den;

uint32_t max_block_cpu_usage;

uint32_t target_block_cpu_usage_pct;

uint32_t max_transaction_cpu_usage;

uint32_t min_transaction_cpu_usage;

uint32_t max_transaction_lifetime;

uint32_t deferred_trx_expiration_window;

uint32_t max_transaction_delay;

uint32_t max_inline_action_size;

uint16_t max_inline_action_depth;

uint16_t max_authority_depth;

 

//设置参数

void set_blockchain_parameters(const eosio::blockchain_parameters& params)

//设置参数

void get_blockchain_parameters(eosio::blockchain_parameters& params)

//获得资源限制

inline void get_resource_limits( name account, int64_t& ram_bytes, int64_t&

net_weight, int64_t& cpu_weight )

//设置资源限制

inline void set_resource_limits( name account, int64_t ram_bytes, int64_t net_weight,

int64_t cpu_weight )

//设置提议人,见dpos共识

std::optional set_proposed_producers( const std::vector& prods )

//判断账号是否有特权

inline bool is_privileged( name account )

//设置账号是否具有特权

inline void set_privileged( name account, bool is_priv )

//重启特征???

inline void preactivate_feature( const checksum256& feature_digest )

}

你可能感兴趣的:(一起读源码)