Теперь запакуем строку.
В этом случае следует передавать тип данных bytes.
>>> struct.pack('=s', b'a')
b'a'
Для записи слова следует указывать количество символов.
>>> struct.pack('=5s', b'hello')
b'hello'
Кстати, запакованный вид соответствует исходному тексту. Всё верно, символ есть в таблице ASCII, то есть его код попадает в диапазон 0-127, он может быть записан одним байтом и имеет визуальное представление. А вот что будет если добавить символ вне ASCII
>>> struct.pack(f'=s', b'ё')
SyntaxError: bytes can only contain ASCII literal characters.
Ошибка возникла еще на этапе создания объекта bytes, который не может содержать такой символ. Поэтому надо кодировать эти байты из строки.
>>> enc = 'ёжик'.encode('utf-8')
>>> struct.pack(f'={len(enc)}s', enc)
b'\xd1\x91\xd0\xb6\xd0\xb8\xd0\xba'
Заметьте, длина такой строки в байтах отличается от исходной длины, так как символы вне ASCII записываются двумя байтами и более. Поэтому здесь формат создаём на лету, используя получившуюся длину как каунтер токена.
#libs#basic
#java#nem#nem_blockchain
You can quickly build and run a NEM node using the NIS (NEM Infrastructure Server) project, which includes all necessary parts like core, deploy, peer, and nis modules. To build it, you need Java 11 or higher and Apache Maven. After building and testing, configure your node by placing property files in a folder named "staging" and start the node with a Java command allocating at least 6GB RAM. You can also set up a testnet node by creating a specific config file. This setup helps you run and manage a secure NEM blockchain node efficiently, supporting blockchain validation and network participation. Detailed docs and community support are available for help.
https://github.com/NemProject/nem
#блокчейн#ProofOfImportance#Blockchain#Crypto#Web3#PoI#база
Что такое Proof of Importance (PoI) и как он работает?
Интересуетесь криптовалютами и блокчейн-технологиями? Тогда вам 🤨 обязательно нужно узнать о Proof of Importance (PoI) — инновационном механизме консенсуса, который предлагает уникальные преимущества!
🔥Proof of Importance (анг. - доказательство важности) — это алгоритм консенсуса, впервые представленный платформой #NEM (New Economy Movement). Он оценивает "важность" каждого участника сети, чтобы определить, кто будет создавать следующий блок. В отличие от Proof of Work (PoW) и Proof of Stake (PoS), PoI учитывает не только количество монет на счету, но и активность пользователя в сети.
⚙️Особенности PoI:
• Активность в сети: PoI поощряет активное участие в транзакциях, а не просто накопление монет.
• Доверие и стабильность: Активные пользователи получают больший вес, что стимулирует участие и укрепляет сеть.
• Справедливость: PoI снижает вероятность централизации, так как учитывается вклад каждого участника, а не только крупные счета.
📌 Для понимания работы консенсуса приведем простой пример.
Представьте, что Алиса и Боб — участники сети. У Алисы на счету 1000 монет, но она не участвует в транзакциях, в то время как у Боба 500 монет, но он активно совершает транзакции. PoI считает Боба более важным 😎, так как он вносит больший вклад в жизнедеятельность сети. Благодаря этому, Боб имеет больше шансов создать новый блок 💡.
❗️Поддержите пост лайками 👍, если узнали что-то новое!
@MirraChannel😎