[Решено] TON поддерживает несколько рабочих цепочек - какую из них я должен использовать в своем коде?
-
Согласно техническому документу TON, блокчейн-сеть TON поддерживает несколько цепочек.
В чем разница между ними и какую рабочую цепочку я должен использовать при развертывании контрактов или чтении данных из контрактов?
При развертывании моего контракта я должен указать, над какой рабочей цепочкой я работаю, я не уверен, какое значение туда поместить:
import { contractAddress } from "ton"; const workchain = ?; const newContractAddress = contractAddress({ workchain, initialData: initDataCell, initialCode: initCodeCell });
-
TLDR
Для обычной работы с пользователем всегда используйте workchain 0- это рабочая цепочка с
workchain_id
=0
Какие существуют различные цепочки в TON?
- One master chain \ - специальная уникальная рабочая цепочка с
workchain_id
=-1
В основном используется сетевыми валидаторами для выполнения PoS-контрактов, > обычные пользователи обычно не отправляют транзакции по этой цепочке.
- До 2 ^ 32 workchains - сегодня есть только один с
workchain_id
=0
, но, возможно, в будущем их будет больше
99,9% пользовательских транзакций в TON происходят на workchain 0 , это > то место, где вам следует работать, если вы точно не знаете, что делаете.
- До 2^60 shardchains на каждую workchain (все они имеют одинаковый
workchain_id
)
Это внутренняя деталь реализации бесконечного сегментирования TON > (автоматическое масштабирование). Если какая-либо из рабочих цепочек находится под большой нагрузкой, она будет автоматически разделена на две цепочки сегментов, а когда нагрузка уменьшится, она будет объединена обратно. Обычно вас это не волнует, это происходит под капотом. Когда вы развертываете контракты или отправляете транзакции, вам не нужно > указывать цепочку сегментов, над которой вы работаете, она рассчитывается системой > автоматически.
- One master chain \ - специальная уникальная рабочая цепочка с