From 31ca2dbe6aeea551066b8a308cdda2d3bc41f0e0 Mon Sep 17 00:00:00 2001 From: Andrea Gunderson Date: Thu, 25 Jan 2024 12:25:33 -0600 Subject: [PATCH 1/5] Revert "Add Hyperledger code of conduct" This reverts commit bf785eab8399c0bd239e719e6e0fb227d6737511. Signed-off-by: Andrea Gunderson --- CODE_OF_CONDUCT.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index f16a69aae..000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,7 +0,0 @@ -Code of Conduct Guidelines -========================== - -Please review the Hyperledger [Code of -Conduct](https://tsc.hyperledger.org/code-of-conduct.html) before participating -and abide by these community standards. - From e50606da4444b94b01e3000db51b05fed2a317b2 Mon Sep 17 00:00:00 2001 From: Andrea Gunderson Date: Thu, 25 Jan 2024 12:25:58 -0600 Subject: [PATCH 2/5] Revert "Add default SECURITY policy" This reverts commit 7e9c772bd4422010d0bfa7f6496eb304c8a7d504. Signed-off-by: Andrea Gunderson --- SECURITY.md | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 2f4eba8ac..000000000 --- a/SECURITY.md +++ /dev/null @@ -1,23 +0,0 @@ -# Hyperledger Security Policy - -## Reporting a Security Bug - -If you think you have discovered a security issue in any of the Hyperledger -projects, we'd love to hear from you. We will take all security bugs -seriously and if confirmed upon investigation we will patch it within a -reasonable amount of time and release a public security bulletin discussing -the impact and credit the discoverer. - -There are two ways to report a security bug. The easiest is to email a -description of the flaw and any related information (e.g. reproduction -steps, version) to -[security at hyperledger dot org](mailto:security@hyperledger.org). - -The other way is to file a confidential security bug in our -[JIRA bug tracking system](https://jira.hyperledger.org). -Be sure to set the “Security Level” to “Security issue”. - -The process by which the Hyperledger Security Team handles security bugs -is documented further in our -[Defect Response](https://wiki.hyperledger.org/display/HYP/Defect+Response) -page on our [wiki](https://wiki.hyperledger.org). From d24eac366bb4563a7d52c56d6b4db3d27e3372e2 Mon Sep 17 00:00:00 2001 From: Andrea Gunderson Date: Thu, 25 Jan 2024 12:27:13 -0600 Subject: [PATCH 3/5] Remove hyperledger specific CONTRIBUTING.md Signed-off-by: Andrea Gunderson --- CONTRIBUTING.md | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index a2f8fe33e..000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,9 +0,0 @@ -# Contributing to Hyperledger Sawtooth - -Hyperledger Sawtooth is Apache 2.0 licensed and accepts contributions via -[GitHub](https://github.com/hyperledger/sawtooth-core) pull requests. - -Please see -[Contributing](https://sawtooth.hyperledger.org/docs/core/releases/latest/community/contributing.html) -in the Sawtooth documentation for information on how to contribute and the guidelines for contributions. - From 5da33fecc4e8b62d889f21bf91ed81c8bd6e5477 Mon Sep 17 00:00:00 2001 From: Andrea Gunderson Date: Thu, 25 Jan 2024 13:09:27 -0600 Subject: [PATCH 4/5] Update README.md for move to splintercommunity Signed-off-by: Andrea Gunderson --- README.md | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 0e8d64b34..ad65cddd5 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -![Hyperledger Sawtooth](https://github.com/hyperledger/sawtooth-core/blob/master/images/sawtooth_logo_light_blue-small.png) +![Sawtooth](https://github.com/splintercommunity/sawtooth-core/blob/main/images/sawtooth_logo_light_blue-small.png) -Hyperledger Sawtooth +Sawtooth ------------- -Hyperledger Sawtooth is an enterprise solution for building, deploying, and +Sawtooth is an enterprise solution for building, deploying, and running distributed ledgers (also called blockchains). It provides an extremely modular and flexible platform for implementing transaction-based updates to shared state between untrusted parties coordinated by consensus algorithms. @@ -13,28 +13,17 @@ Documentation ------------- Documentation for how to run and extend Sawtooth is available here: -https://sawtooth.hyperledger.org/docs/ +https://sawtooth.splinter.dev/docs/ -Hyperledger Sawtooth Core Developers Setup Guide can be found here: [BUILD.md](BUILD.md) +Sawtooth Core Developers Setup Guide can be found here: [BUILD.md](https://github.com/splintercommunity/sawtooth-core/blob/main/BUILD.md) -Running examples of Sawtooth blockchains can be found here: -https://sawtooth.hyperledger.org/examples/ - - -Project Status ------------------ - -This project is an _active_ Hyperledger project. It was proposed to the -community and documented [here](https://docs.google.com/document/d/1j7YcGLJH6LkzvWdOYFIt2kpkVlLEmILErXL6t-Ky2zU/edit). -Information on what _Active_ entails can be found in the -[Hyperledger Project Lifecycle document](https://wiki.hyperledger.org/display/HYP/Project+Lifecycle). License ------- -Hyperledger Sawtooth software is licensed under the [Apache License Version 2.0](LICENSE) software license. +Sawtooth software is licensed under the [Apache License Version 2.0](LICENSE) software license. -Hyperledger Sawtooth documentation in the [docs](docs) subdirectory is licensed under +Sawtooth documentation in the [docs](docs) subdirectory is licensed under a Creative Commons Attribution 4.0 International License. You may obtain a copy of the license at: http://creativecommons.org/licenses/by/4.0/. From 9858726102f7f64a7cc57975d0d4e16450546563 Mon Sep 17 00:00:00 2001 From: Andrea Gunderson Date: Thu, 25 Jan 2024 13:36:41 -0600 Subject: [PATCH 5/5] Update rust code for move to splintercommunity Signed-off-by: Andrea Gunderson --- libsawtooth/Cargo.toml | 3 +- libsawtooth/src/transact/mod.rs | 83 +++++++--------------------- libsawtooth/src/transact/sawtooth.rs | 6 +- 3 files changed, 26 insertions(+), 66 deletions(-) diff --git a/libsawtooth/Cargo.toml b/libsawtooth/Cargo.toml index 6bf747d7d..ae2dc1a8e 100644 --- a/libsawtooth/Cargo.toml +++ b/libsawtooth/Cargo.toml @@ -1,3 +1,4 @@ +# Copyright 2024 Bitwise IO, Inc. # Copyright 2019 Cargill Incorporated # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,7 +21,7 @@ edition = "2018" license = "Apache-2.0" readme = "../README.md" description = """\ - Hyperledger Sawtooth is an enterprise blockchain platform for building \ + Sawtooth is an enterprise blockchain platform for building \ distributed ledger applications and networks. """ diff --git a/libsawtooth/src/transact/mod.rs b/libsawtooth/src/transact/mod.rs index 636a37a52..ecdbdf630 100644 --- a/libsawtooth/src/transact/mod.rs +++ b/libsawtooth/src/transact/mod.rs @@ -16,50 +16,35 @@ * ----------------------------------------------------------------------------- */ -//! # Hyperledger Transact +//! # Transact //! -//! Hyperledger Transact makes writing distributed ledger software easier by providing a shared -//! software library that handles the execution of smart contracts, including all aspects of -//! scheduling, transaction dispatch, and state management. +//! Transact makes writing distributed ledger software easier by providing a shared software +//! library that handles the execution of smart contracts, including all aspects of scheduling, +//! transaction dispatch, and state management. //! -//! Hyperledger framework-level projects and custom distributed ledgers can use Transact's -//! advanced transaction execution and state management to simplify the transaction execution code -//! in their projects and to take advantage of Transact’s additional features. +//! Framework-level projects and custom distributed ledgers can use Transact's advanced transaction +//! execution and state management to simplify the transaction execution code in their projects and +//! to take advantage of Transact’s additional features. //! //! More specifically, Transact provides an extensible approach to implementing new smart contract //! languages called “smart contract engines.” Each smart contract engine implements a virtual -//! machine or interpreter that processes smart contracts. Examples include -//! [Seth](https://sawtooth.hyperledger.org/docs/seth/nightly/master/introduction.html), which -//! processes Ethereum Virtual Machine (EVM) smart contracts, and -//! [Sabre](https://sawtooth.hyperledger.org/docs/sabre/nightly/master/sabre_transaction_family.html), -//! which handles WebAssembly smart contracts. Transact also provides SDKs for implementing smart -//! contracts and smart contract engines, which makes it easy to write smart contract business -//! logic in a variety of programming languages. -//! -//! Hyperledger Transact is inspired by Hyperledger Sawtooth and uses architectural elements from -//! Sawtooth's current transaction execution platform, including the approach to scheduling, -//! transaction isolation, and state management. Transact is further informed by requirements from -//! Hyperledger Fabric to support different database backends and joint experiences between -//! Sawtooth and Fabric for flexible models for execution adapters (e.g., lessons from integrating -//! Hyperledger Burrow). +//! machine or interpreter that processes smart contracts. //! //! ## Diving Deeper //! //! Transact is fundamentally a transaction processing system for state transitions. State data is -//! generally stored in a [Merkle-Radix -//! tree](https://sawtooth.hyperledger.org/docs/core/nightly/master/glossary.html#term-merkle-radix-tree), -//! a key-value database, or an SQL database. Given an initial state and a transaction, Transact -//! executes the transaction to produce a new state. These state transitions are considered “pure” -//! because only the initial state and the transaction are used as input. (In contrast, other -//! systems such as Ethereum combine state and block information to produce the new state.) As a -//! result, Transact is agnostic about framework features other than transaction execution and -//! state. Awesome, right? +//! generally stored in a Merkle-Radix tree a key-value database, or an SQL database. Given an +//! initial state and a transaction, Transact executes the transaction to produce a new state. +//! These state transitions are considered “pure” because only the initial state and the +//! transaction are used as input. (In contrast, other systems such as Ethereum combine state and +//! block information to produce the new state.) As a result, Transact is agnostic about framework +//! features other than transaction execution and state. Awesome, right? //! //! Transact deliberately omits other features such as consensus, blocks, chaining, and peering. -//! These features are the responsibility of the Hyperledger frameworks (such as Sawtooth and -//! Fabric) and other distributed ledger implementations. The focus on smart contract execution -//! means that Transact can be used for smart contract execution without conflicting with other -//! platform-level architectural design elements. +//! These features are the responsibility of the frameworks and other distributed ledger +//! implementations. The focus on smart contract execution means that Transact can be used for +//! smart contract execution without conflicting with other platform-level architectural design +//! elements. //! //! Transact includes the following components: //! @@ -81,37 +66,11 @@ //! interpreters that run the smart contracts. Examples of engines include WebAssembly, Ethereum //! Virtual Machine, Sawtooth Transactions Processors, and Fabric Chain Code. //! -//! ## Transact Features -//! -//! Hyperledger Transact includes the following current and upcoming features (not a complete -//! list): -//! -//! * Transaction execution adapters that allow different mechanisms of execution. For example, -//! Transact initially provides adapters that support both in-process and external transaction -//! execution. The in-process adapter allows creation of a single (custom) process that can execute -//! specific types of transactions. The external adapter allows execution to occur in a separate -//! process. -//! * Serial and parallel transaction scheduling that provides options for flexibility and -//! performance. Serial scheduling executes one transaction at a time, in order. Parallel -//! scheduling executes multiple transactions at a time, possibly out of order, with specific -//! constraints to guarantee a resulting state that matches the in-order execution that would occur -//! with serial scheduling. Parallel scheduling provides a substantial performance benefit. -//! * Pluggable state backends with initial support for a LMDB-backed Merkle-Radix tree -//! implementation and an in-memory Merkle-Radix tree (primarily useful for testing). Key-value -//! databases and SQL databases will also be supported in the future. -//! * Transaction receipts, which contain the resulting state changes and other information from -//! transaction execution. -//! * Events that can be generated by smart contracts. These events are captured and stored in the -//! transaction receipt. -//! * SDKs for the following languages: Rust, Python, Javascript, Go, Java (including Android), -//! Swift (iOS), C++, and .NET. -//! * Support for multiple styles of smart contracts including Sabre (WebAssembly smart contracts) -//! and Seth (EVM smart contracts). -//! //! ## Sawtooth Compatibility Layer //! -//! Hyperledger Transact provides optional support for smart contract engines implemented for -//! Hyperledger Sawtooth through the `sawtooth-compat` feature. +//! Transact provides optional support for smart contract engines implemented for Sawtooth through +//! the `sawtooth-compat` feature. + #[cfg(feature = "transact-context")] mod collections; diff --git a/libsawtooth/src/transact/sawtooth.rs b/libsawtooth/src/transact/sawtooth.rs index 0675014d2..7ba425bc2 100644 --- a/libsawtooth/src/transact/sawtooth.rs +++ b/libsawtooth/src/transact/sawtooth.rs @@ -14,8 +14,8 @@ //! Sawtooth Compatibility Layer //! -//! This module provides a compatibility layer for use with [Hyperledger -//! Sawtooth](https://sawtooth.hyperledger.org) transaction families. It provides adapters to +//! This module provides a compatibility layer for use with +//! [Sawtooth](https://sawtooth.splinter.dev/) transaction families. It provides adapters to //! allow the use of existing Sawtooth transaction families, implemented with the [Rust //! SDK](https://crates.io/crates/sawtooth-sdk), in an application built with Transact. //! @@ -39,7 +39,7 @@ use crate::transact::protocol::transaction::{TransactionHeader, TransactionPair} /// engines can then be compiled in to an application using Transact. /// /// For example, the Sawtooth transaction handler for the [XO Transaction -/// Family](https://sawtooth.hyperledger.org/docs/core/releases/latest/transaction_family_specifications/xo_transaction_family.html) +/// Family](https://sawtooth.splinter.dev/docs/1.2/transaction_family_specifications/xo_transaction_family.html) /// can be adapted as follows: /// /// # use sawtooth_xo::handler::XoTransactionHandler;