Сделка
это инструкция, выпущенная учетной записью с криптографической подписью.Учетная запись инициирует транзакцию для обновления состояния сети Ethernet.Самая простая транзакция - это передача PSC с одной учетной записи в другую.
Какая транзакция?
Транзакция Polysmartchain - это действие, инициируемое внешне удерживаемой учетной записью, другими словами, учетной записи, которая управляется человеком, а не умным контрактом.Например, если Боб отправляет Алису 1 PSC, учетная запись Боба должна быть уменьшена на 1 PSC, а учетная запись Алисы должна быть увеличена на 1 PSC.Это действие происходит во время транзакции и меняет состояние.
Снарежения, которые изменяют состояние EVM, должны транслироваться всю сеть.Любой узел может транслировать запрос транзакции на EVM;После этого шахтер будет выполнять транзакцию и распространять полученное изменение состояния до остальной части сети.
Транзакции требуют платы и должны быть добыты, чтобы быть действительными.Чтобы упростить этот обзор, мы будем называть это плату за газ и добычу.
Представленные транзакции включают следующую информацию:
recipient
– приема (если это внешне удерживаемое учетная запись, транзакция будет передавать значение. Если это контрактный счет, транзакция выполнит код договора)signature
– идентификатор отправителя.Эта подпись генерируется, когда транзакция подписана закрытым ключом отправителя, чтобы убедиться, что отправитель разрешил эту транзакцию.value
– сумма ETH, передаваемого от отправителя к получателю (в WEI, деноминация ETH)data
– дополнительные поля, которые могут включать любые данныеgasLimit
– Максимальное количество газа, которое может быть потреблено транзакцией. Единица газа представляет шаг расчетаmaxPriorityFeePerGas
- Максимальное количество газа включено в качестве подсказки шахтераmaxFeePerGas
- максимальная сумма газа, желающего платить за транзакцию (включая BaseFeepergas и MaxPriorityFeePergas)
Газ - это количество арифметической мощности, требуемой майнером для обработки транзакции.Пользователь должен заплатить плату за этот расчет.Gaslimit и Gasprice определяют максимальную плату за транзакцию, которая будет выплачена шахтеру.
Объект транзакции выглядит так:
Тем не менее, объект транзакции должен быть подписан с закрытым ключом отправителя.Это доказывает, что транзакция может исходить только от отправителя, а не от мошенничества.
Клиент Polysmartchain, как GPSC, будет справиться с этим процессом подписания.
Пример JSON-RPC Вызов:
Пример ответа:
raw
это RLP (префикс рекурсивной длины), закодированная форма подписанной транзакции.tx
является формой JSON подписанной транзакции.
Если доступна хеш подписи, транзакция может быть криптографически доказана, что приходится от отправителя и отправлена в сеть.
Тип операции
Polysmartchain имеет несколько различных типов транзакций:
Регулярные транзакции: транзакции из одного кошелька в другой.
Снареженные транзакции по развертыванию контракта: транзакции без «на» адрес, поле данных для кода договора.
О газе
Как упоминалось выше, это стоит газ для выполнения транзакции.Простая трансферная транзакция стоит 21 000 газа.
Предполагая, что Боб хочет отправить 1 PSC в Алису на 190 ГВэй BaseFeepergas и 10 Gwei MaxPriorityFeepergas, тогда Боб должен оплатить следующие сборы:
Учетная запись Боба будет уменьшена на 1,0042 PSC
Счет Алисы будет увеличен на +1,0 PSC
Вычесть базовую плату 0,00399 PSC
Шахтеры сохраняют советы +0.000210 PSC
Любое взаимодействие на умных контрактах также требует газа.
Жизненный цикл транзакции
После отправки транзакции происходит следующее:
После отправки транзакции криптография генерирует транзакционную хеш:
0x97d99bc7729211111a21b12c933c949d4f31684f1d6954ff477d0477538ff017
Затем транзакция передается в сеть и включена в коллекцию с большим количеством других транзакций.
Шахтер должен выбрать вашу транзакцию и включать его в блок, чтобы подтвердить транзакцию и учитывать ее «успешно».
Если сеть занята, а шахтеры не могут не отставать, вы можете подождать на этом этапе.
Ваша транзакция получит «подтверждение».Количество подтверждений - это количество блоков, созданных с момента блока, содержащего вашу транзакцию.Чем больше это число, тем больше уверенность в том, что транзакция будет обработана и признана сетью.
Самый последний блок может быть реорганизован, создавая впечатление, что транзакция не удалась;Однако транзакция все еще может быть действительной, но содержится в другом блоке.
Вероятность реконфигурации уменьшается с каждым последующим добываемым блоком, то есть, чем больше подтверждений, тем более неизменной становится транзакция.
Типичная транзакция транзакции
Last updated