1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hyperledger-transact

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
RELEASE_NOTES.md 18 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 13:35 9143621

Изменения в Transact 0.4.3

  • Изменён тип столбца для merkle_radix_leaf.address в SQLite. Это исправляет ошибку, из-за которой у адресов, которые были действительными числовыми значениями, удалялись ведущие нули (как выражено в шестнадцатеричной строке адреса).

  • CommandTransactionBuilder перемещён из transact::families::command::workload в transact::families::command. Оригинальная версия остаётся и теперь устарела.

  • Обновлён rustdoc для модуля transact::state::merkle с более подробной информацией.

  • Обновлён rustdoc для признака transact::state::Prune для ясности.

libtransact

Изменения в Transact 0.4.2

libtransact

  • В SqliteMerkleRadixStore добавлена эксклюзивная запись. Теперь все записи являются эксклюзивными, но возможно несколько читателей. Это предотвращает ошибки, которые могут возникнуть при одновременной записи.

  • Реализована From<Arc<RwLock<Pool...>>> для SqliteBackend.

Изменения в Transact 0.4.1

Основные моменты

  • Добавлен инструмент командной строки для рабочей нагрузки. Этот инструмент поддерживает отправку транзакций command и smallbank (экспериментально) с настраиваемыми ставками и продолжительностью.

  • Добавлены более гибкие функции, позволяющие пользователям библиотеки более гибко использовать библиотеку. С этими новыми функциями потребителям библиотеки не обязательно загружать все модули при использовании Transact в своих приложениях.

  • Добавлен пример смарт-контракта smallbank. Этот контракт был перенесён из sawtooth-rust-sdk.

  • Добавлен смарт-контракт command.

libtransact

  • Реализован ContextManager::drop_context, где контексты подсчитываются по ссылкам.

  • Сериальный планировщик обновлён для удаления контекстов там, где это уместно.

  • Тип BatchHeader::transaction_ids изменён с Vec<Vec<u8>> на Vec<String>, чтобы все поля подписи заголовка были последовательно типизированы.

  • Тип TransactionHeader::dependencies изменён с Vec<Vec<u8>> на Vec<String>, чтобы все поля подписи заголовка были последовательно типизированы.

  • Тип HashMethod:SHA512 изменён на HashMethod::Sha512 в соответствии с рекомендуемыми соглашениями об именах.

  • Экспериментальная функция "sqlite-db" удалена в пользу "state-merkle-sql" и "sqlite".

  • Экспериментальная функция "redis-db" удалена, поскольку Redis не соответствует требованиям к транзакциям Merkle State.

  • Добавлена вариация HashMethod::Sha512, которая оборачивает transact::error::InternalError.

  • Добавлена функция "sabre-compat" для написания совместимых с wasm смарт-контрактов.

  • Добавлен обработчик транзакций smallbank.

  • Добавлены реализации xo, smallbank и command для признаков TransactionWorkload и BatchWorkload.

  • Убрана зависимость от openssl.

CLI

  • Добавлена команда CLI с именем command, которая имеет три подкоманды set-state, get-state и show-state, которые можно использовать для взаимодействия со смарт-контрактом command.

  • Добавлена команда playlist, которая имеет четыре подкоманды create, process, batch и submit, которые можно использовать для создания файлов предварительно подготовленных полезных данных, транзакций и пакетов. Файл, содержащий пакеты, затем можно отправить в распределённый реестр.

  • Добавлена рабочая нагрузка команды CLI, которую можно использовать для отправки рабочей нагрузки в распределённый реестр.

Примеры

  • Добавлен совместимый с sabre смарт-контракт smallbank.

  • Добавлен совместимый с sabre смарт-контракт command.

  • Добавлено приложение-пример, которое отправляет транзакции command непосредственно в sabre.

Изменения в Transact 0.3.14

Обновления libtransact

  • Сделаны общедоступными MerkleRadixStore и реализация SQL. Это позволяет потребителям библиотеки получить доступ к низкоуровневым API для взаимодействия с уровнем хранения merkle-radix tree.

  • Добавили list_trees в MerkleRadixStore. Это позволяет пользователю просматривать доступные деревья, хранящиеся в базовом хранилище.

Изменения в Transact 0.3.13

Обновления libtransact

  • Добавили delete_tree в SqlMerkleState. Это позволяет удалить всё дерево, включая все корневые хэши состояния и данные листьев, связанные с этим деревом.

Изменения в Transact 0.3.12

Обновления libtransact

  • Ограничили рекурсию запросов одним деревом. В запросе представлен текст, связанный с разработкой и тестированием программного обеспечения. Основной язык текста запроса — английский.

Перевод текста на русский язык:

Исправления проблемы, когда запросы в базе данных с деревьями с одинаковой структурой приводили к бесконечному циклу в SQLite.

  • Используйте немедленные транзакции SQLite. Это улучшает поддержку многопоточности.
  • Обновите PRAGMA SQLite для режима журнала WAL. Это улучшает поддержку многопоточности.
  • Удалите ручные последовательности идентификаторов для Postgres. Это улучшает поддержку многопоточности.
  • Обновите значения по умолчанию для PRAGMA «synchronous» SQLite. Это изменяет настройку по умолчанию «synchronous», чтобы она явно была «Normal» или «Full», если включён режим журнала WAL.

Изменения в Transact 0.3.11

Основные моменты

  • Функция «state-merkle-sql» стабилизирована вместе с функциями «postgres» и «sqlite».

Обновления libtransact

  • Стабилизируйте «state-merkle-sql», переместив его в группу функций «stable».
  • Стабилизируйте «postgres», переместив его в группу функций «stable».
  • Стабилизируйте «sqlite», переместив его в группу функций «stable».
  • Замените OverlayReader и -Writer на MerkleRadixStore.
  • Переместите операции, схему и модели в модуль store.
  • Объедините операции insert_node и update_change_log в одну операцию write_changes.
  • Разделите весь код, специфичный для Postgres и SQLite, на соответствующие подмодули postgres и sqlite относительно родительского модуля.
  • Разрешите запускать миграции против одного соединения. Это позволяет выполнять миграции в случае, когда вызывающий объект не имеет доступа к пулу соединений или строке подключения и, следовательно, не может использовать экземпляр Backend через признак MigrationManager.

Изменения в Transact 0.3.10

Основные моменты

  • Функция «state-merkle-leaf-reader» стабилизирована путём удаления. Это делает признак MerkleLeafReader частью стандартного стабильного API.

Обновления libtransact

  • Обобщите защиту признаков над serde_derive. Это изменение устраняет возможность того, что макросы будут недоступны, если конкретная функция libtransact не включена. Теперь любая функция, зависящая от serde_derive, будет иметь доступные макросы.
  • Повторно экспортируйте transact::state::merkle::kv::MerkelLeafIterator в родительском модуле для обратной совместимости. Этот тип ранее был частью общедоступного API.
  • Мягко обесцените тип transact::state::merkle::kv::MerkelLeafIterator, поскольку этот тип не должен быть частью общедоступного API и может быть удалён в будущем выпуске.
  • Возвращайте InvalidStateError, когда во время итерации листа при реализации на kv::MerkleState встречается StateDatabaseError::NotFound.
  • Стабилизируйте функцию «state-merkle-leaf-reader», удалив её. Это делает признак MerkleLeafReader частью стандартного стабильного API.

Изменения в Transact 0.3.9

Обновления libtransact

  • Удалите вариант StateDatabaseError::InternalError. Это изменение не было обратно совместимым.

Изменения в Transact 0.3.8 (yanked)

Основные моменты

  • Экспериментальная поддержка состояния merkle, хранящегося в базах данных Postgres и SQLite. Это доступно через новый struct SqlMerkleState и активируется функциями «state-merkle-sql» с «postgres» и/или «sqlite», включёнными для любой базы данных.

Обновления libtransact

  • Перенесите существующую реализацию MerkleState на основе ключа-значения в transact::state::merkle::kv. Эта реализация поддерживается абстракцией базы данных key-value. Она повторно экспортируется в модуль transact::state::merkle для обратной совместимости.
  • Добавьте экспериментальный SqlMerkelState, доступный в модуле transact::state::merkle::sql. Он активируется функциями «state-merkle-sql» с «postgres» и/или «sqlite», включёнными для любой базы данных.
  • Добавьте transact::error::InternalError, скопированный из библиотеки splinter.
  • Добавьте transact::error::InvalidStateError, скопированный из библиотеки splinter.
  • Расширьте конфигурацию журнала SQLite в экспериментальном SqliteDatabase.

Изменения в Transact 0.3.7

  • Обновите зависимость semver с 0.9 до 1.0.
  • Исправьте различные ошибки clippy, которые появились с выпуском Rust 1.50.
  • Обновите protobuf. Экспериментальная функция «family-command»

Другие изменения

  • Добавьте файл justfile, чтобы можно было запускать команды just build, just lint и just test.

Изменения в Transact 0.2.3

Экспериментальные изменения

  • Разрешите настройку режима журналирования с упреждающей записью (WAL) для баз данных SQLite. Этот режим обеспечивает значительное повышение производительности по сравнению со стандартным режимом атомарной фиксации и отката.

Прочие изменения

  • Добавьте реализации TryFrom для преобразования перечислений TransactionResult и структур TransactionReceipt в структуры StateChange.

Изменения в Transact 0.2.2

Экспериментальные изменения

  • Обновите конструктор SmartContractArchive::from_scar_file, чтобы он принимал несколько путей поиска файлов .scar.
  • Добавьте настраиваемый префикс для имён таблиц в базах данных SQLite.
  • Включите чтение состояния через курсор при использовании модуля записи базы данных SQLite.

Изменения в Transact 0.2.1:

Основные моменты:

  • Включение загрузки файла .scar в собственный SmartContractArchive с помощью экспериментальной функции «contract-archive».

Изменения в Transact 0.2.0:

Основные моменты:

  • Добавление экспериментальной поддержки SQLite для хранения состояния.
  • Добавление исполняемого примера с использованием реализаций признака Addresser для генерации адресов radix для до трёх естественных ключей.
  • Поддержка хранения недействительных результатов транзакций в виде квитанций транзакций.

Критические изменения:

  • Обновление признака DatabaseReader таким образом, что его метод «get» возвращает результат.
  • Удаление change_log из общедоступного API реализации состояния Merkle.
  • Обновление построителя квитанций транзакции, чтобы разрешить создание квитанций транзакций для недействительных транзакций.
  • Фиксация недействительных результатов транзакции в качестве квитанций транзакций.

Экспериментальные изменения:

  • Добавьте все экспериментальные функции в документацию Rust.
  • Добавьте реализацию черты Database на основе SQLite за экспериментальной функцией «sqlite-db».
  • Добавьте реализацию KeyValueTransactionContext за экспериментальной функцией «contract-context-key-value», которая использует представление состояния ключ-значение.
  • Обновите сообщения об ошибках Addresser, чтобы они были более точными.
  • Добавьте более надёжную проверку и обработку ошибок в реализациях признака Addresser.
  • Добавьте экспериментальную функцию «key-value-state».

Прочие изменения:

  • Добавьте преобразование из TransactionBuilder в BatchBuilder для упрощения пакетного построения.
  • Поддержите преобразование BatchList в собственный Vec и обратно.
  • Добавьте функцию «state-merkle» для условной компиляции реализации состояния Merkle.
  • Исправьте ошибку, из-за которой подписи заголовков квитанций транзакций дважды преобразовывались в шестнадцатеричный формат.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/hyperledger-transact.git
git@api.gitlife.ru:oschina-mirror/hyperledger-transact.git
oschina-mirror
hyperledger-transact
hyperledger-transact
main