Представляем хардфорк ThunderCore 2.0
Цель ThunderCore — улучшить возможности сети, ее полезность, масштабируемость и сделать ее самым массовым публичным блокчейном. Для достижения этой цели, как мы уже упоминали в этой статье, будет совершено обновление токеномики и переход на более децентрализованный PoS стекинг (Proof-of-Stake).
Предполагаемое время завершения хардфорка ThunderCore 2.0 составляет примерно:
Сессия хардфорка Mainnet 7750
Блок: 116689203
Время: 14.11.2022
*Примечание: Фактическое время может меняться в зависимости от статуса выполнения.
О ThunderCore 2.0
В предыдущей статье мы подчеркнули нашу направленность на создание более децентрализованного и устойчивого блокчейна посредством обновления токеномики с более высоким стекингом в связи с приведенными ниже ключевыми показателями:
- После модернизации токеномики вознаграждение за блок будет распределяться на 90% среди валидаторов и на 10% среди производителей блоков.
- Каждый новый блок в цепи ThunderCore будет генерировать 15 TT для вознаграждения валидаторов и производителей блоков, которые участвуют в валидации узлов.
- Ожидается, что соотношение стекинга увеличится до 60% — это оптимальная цель, которая позволит экосистеме ThunderCore процветать и создавать устойчивое будущее.
- Сжигание TT путем внедрения EIP-1559, который будет сжигать в среднем около 10 gwei в качестве базовой комиссии с каждой транзакции, но вознаграждение за блок по-прежнему получают валидаторы.
Что нового
В следующем параграфе мы продемонстрируем данные API в процессе реализации хардфорка ThunderCore 2.0. Будет представлено 4 основных информации о данных API. Кроме того, будут внесены изменения в базовую комиссию.
Базовая комиссия
Поскольку мы будем внедрять EIP-1559 в метрику базовой комиссии, отныне для размещения данных на цепи на каждую транзакцию требуется 11 gwei, иначе они будут игнорироваться блокчейном.
- Ниже приведена комбинация базовой платы, настройки вознаграждения.
- GasFeeCap 11, GasTipCap 1
- GasPrice 11
Данные API
- thunder_getBlockInfo: получение информации консенсуса о данном блоке
curl -H 'Content-type: application/json' -X POST --data '{"jsonrpc":"2.0","method":"thunder_getBlockInfo","params":["0x549f486"],"id":1}' https://testnet-rpc.thundercore.com | jq{
"jsonrpc": "2.0",
"id": 1,
"result": {
"BlockSn": "(8217,1,4)",
"SessionCommInfo": {
"ProposerIds": [
"9f054c03f2f88114863cb8a9d75ca6ffb7518507",
"d4e6d51c4ed8b42b3b028920c36c50de7e0a4ada"
],
"VoterIds": [
"f3754503d0829fafb59dcc64959338097abd1cbf",
"06f719e3389bc7e8cb07cbaaefdfdd70707c64e9",
"c861d021dd1227d444e323590c33c44a20caefde",
"3bc503e71efa3eaf16cfc8752645c98736574f24"
]
},
"Notarizations": [
{
"VoterIds": [
"f3754503d0829fafb59dcc64959338097abd1cbf",
"06f719e3389bc7e8cb07cbaaefdfdd70707c64e9",
"c861d021dd1227d444e323590c33c44a20caefde",
"3bc503e71efa3eaf16cfc8752645c98736574f24"
],
"BlockSn": "(8217,1,2)"
}
]
}
}
2. thunder_getTotalSupply: получение состояния общего снабжения данного блока
curl -H ‘Content-type: application/json’ -X POST -- data ‘{“jsonrpc”:”2.0",”method”:”thunder_getTotalSupply”,”params”:[“0x549f484”],”id”:1}’ https://testnet-rpc.thundercore.com | jq .{
“jsonrpc”: “2.0”,
“id”: 1,
“result”: {
“BlockNumber”: 88732804,
“Result”: 323963222996410000000000
}
}
3. thunder_getTotalInflation: получение общего объема инфляции, сгенерированной блоком
curl -H ‘Content-type: application/json’ -X POST -- data ‘{“jsonrpc”:”2.0",”method”:”thunder_getTotalInflation”,”params”:[“0x549f484”],”id”:1}’ https://testnet-rpc.thundercore.com | jq .{
“jsonrpc”: “2.0”,
“id”: 1,
“result”: {
“BlockNumber”: 88732804,
“Result”: 324000000000000000000000
}
}
4. thunder_getTotalGasBurned: получение общей платы за газ данного блока
curl -H ‘Content-type: application/json’ -X POST -- data ‘{“jsonrpc”:”2.0",”method”:”thunder_getTotalFeeBurned”,”params”:[“0x549f484”],”id”:1}’ https://testnet-rpc.thundercore.com | jq .
{
“jsonrpc”: “2.0”,
“id”: 1,
“result”: {
“BlockNumber”: 88732804,
“Result”: 36777003590000000000
}
}
5. Новый предварительно составленный контракт на PaLa blockSn
pragma solidity ^0.8.9;
library LibBlockSn {
function get()
internal
view
returns (
uint256, // session
uint256, // E
uint256 // S
)
{
uint256[3] memory m;
assembly {
if iszero(
staticcall(
not(0),
0xd5891E5D906480f4215c78778B9FCEc909B04235,
0,
0x0,
m,
0x60
)
) {
revert(0, 0)
}
}
return (m[0], m[1], m[2]);
}
}contract DemoGetBlockSn {
event BlockSn(uint256, uint256, uint256);function run() public {
(uint256 session, uint256 e, uint256 s) = LibBlockSn.get();
emit BlockSn(session, e, s);
}
}
Благодарим вас за внимание и поддержку!
Подписывайтесь на наш блог, поддержите эту статью хлопками и делитесь с друзьями, а также вступайте в наш Telegram чат! C уважением, команда ThunderCore 😊
О ThunderCore
ThunderCore — это безопасный, высокопроизводительный, совместимый с EVM публичный блокчейн со своей собственной валютой, Thunder Token. Благодаря революционному протоколу консенсуса, преодолевающему “трилемму масштабируемости” под названием PaLa, сеть ThunderCore предлагает 4 000+ TPS, субсекундное время подтверждения и низкую плату за газ, которая стоит менее доли доллара, обеспечивая децентрализованным приложениям безопасность и масштабируемость.
Полезные ссылки для ру сообщества
Сайт | Кошелек | Telegram Сообщество | Telegram Канал | Medium | Twitter