MetaForce佛薩奇系統(tǒng)開發(fā)(參考版)丨MetaForce佛薩奇開發(fā)技術(shù)源碼案例
From a technical perspective,blockchain has entered the stage of platform-based,component-based and integrated development from the initial technological exploration.It is mainly reflected in the following aspects:First,the platform promotes the formation of urban chain network.City chains such as Chang'an Chain,Shuxin Chain and Haihe Chain have emerged in succession.After the city chains are interconnected,they will form a city chain network to support a larger scale of application scenarios
區(qū)塊鏈將與大數(shù)據(jù)、云計算、人工智能等新一代信息技術(shù)深度融合,實現(xiàn)數(shù)據(jù)和資產(chǎn)價值的最/大/化。在平臺化、組件化和集成化發(fā)展的過程中,將形成圍繞區(qū)塊鏈的數(shù)字科技體系和信息技術(shù)服務(wù)體系,更大規(guī)模的創(chuàng)新應(yīng)用場景落地實現(xiàn)獲得支撐,數(shù)字產(chǎn)業(yè)化的新格局加速形成。
native.hpp的區(qū)塊頭結(jié)構(gòu)體。
時間戳,uint32_t類型
生產(chǎn)者,name類型
confirmed,已確認數(shù),uint16_t,初始化為0。
前一個區(qū)塊的hash,是capi_checksum256類型的
事務(wù)Merkle樹根,Merkle數(shù)的內(nèi)容請點擊以及點擊。概況來講,是為了校驗區(qū)塊內(nèi)打包的事務(wù)的真?zhèn)我约巴暾缘摹?/p>
action的merkle樹根,詳情及功能I35源碼7O98開發(fā)O7I8,校驗區(qū)塊內(nèi)所有action的真?zhèn)我约巴暾浴?/p>
計劃版本,schedule_version,uint32_t類型,初始化為0。
后續(xù)計劃出塊者。producer_schedule類型。
producer_schedule
定義在librarieseosiolibproducer_schedule.hpp。該結(jié)構(gòu)體定義了有效生產(chǎn)者集合的出塊順序、賬戶名以及簽名密鑰。
struct producer_schedule{
//時間計劃的版本號,按順序遞增。
uint32_t version;
//此計劃的生產(chǎn)者列表,包括其簽名密鑰
std::vector<producer_key>producers;
};案例及設(shè)計:MrsFu123
陌生的部分是producer_key,該結(jié)構(gòu)體定義在librarieseosiolibprivileged.hpp,是用來映射生產(chǎn)者及其簽名密鑰,用于生產(chǎn)者計劃。
struct producer_key{
name producer_name;
//此生產(chǎn)者使用的區(qū)塊簽名密鑰
public_key block_signing_key;
//重載運算符小于號,producer_key的兩個對象進行小于號比較時,返回的是其name類型的生產(chǎn)者賬戶的比較。
friend constexpr bool operator<(const producer_key&a,const producer_key&b){
return a.producer_name<b.producer_name;
}
EOSLIB_SERIALIZE(producer_key,(producer_name)(block_signing_key))