В FunC существует ли эквивалент отображения Solidity?
- 
							
							
							
							
У меня есть смарт-контракт, который принимает сообщения от пользователей. Я хотел бы сохранить историю запросов. Как я могу сохранить список пар (адрес, текст сообщения)? Правильно ли я понимаю, что я не могу использовать tuple для такого случая, потому что он имеет ограничение в 256 записей? Существуют ли какие-либо рекомендации по хранению такого динамического списка? Аналогично отображению в Solidity. 
 Этот вопрос был импортирован из чата Telegram: > <***Скрыто*** click to show
 
- 
							
							
							
							
ДиктуетDicts можно использовать для хранения сопоставления ключей со значениями. Однако в TON рекомендуется избегать хранения неограниченных dicts. Это диктанты, которые динамически растут с течением времени. Вариант использования, который вы описали, является динамическим. Причина, по которой этого следует избегать, заключается в том, что ваше хранилище растет, и по мере его роста вам приходится платить все больше и больше, чтобы сохранить его в блокчейне. Чтобы сохранить динамический список, вы должны разбить его на более мелкие части. Это называется сегментированием, и вы можете найти больше информации о том, как это сделать, в этой замечательной статье: https://blog.ton.org/how-to-shard-your-ton-smart-contract-and-why-studying-анатомия-тонн-джеттонов КортежиКортежи ограничены 256 записями, но вы можете использовать их как неограниченный список в стиле ML. Это означает сохранить первый элемент в качестве первого элемента кортежа, а остальную часть списка в другом кортеже в качестве второго элемента и снова использовать эту же структуру для остальной части списка до конца, который обычно является нулевым значением: (1, (2, (3, null())))Но в FunC (и TON в целом) это полезно только для работы с данными в памяти, поскольку, когда вы хотите их сохранить, вы должны сериализовать их в ячейку.