[package]
edition = "2024"
name = "fabric-sdk"
version = "0.5.3"
authors = ["Arne Fuchs <arnefuchs@pm.me>"]
build = "build.rs"
exclude = ["tests/resources/*"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Interact and program chaincode for the Hyperledger Fabric blockchain network
"""
readme = "README.md"
keywords = [
"fabric",
"blockchain",
"hyperledger",
"smart-contract",
"web3",
]
license = "Apache-2.0"
repository = "https://github.com/LF-Decentralized-Trust-labs/fabric-sdk-rust"
[features]
chaincode = [
"dep:tokio",
"dep:futures-util",
"dep:fabric-sdk-derives",
"tonic/tls-aws-lc",
"tonic/transport",
"tonic/router",
"dep:futures-channel",
"dep:p256",
"dep:ecdsa",
"dep:sha2",
"dep:hex",
]
client = [
"dep:tokio",
"tonic/tls-aws-lc",
"tonic/transport",
"tonic/router",
"dep:futures-channel",
"dep:p256",
"dep:ecdsa",
"dep:sha2",
"dep:hex",
"dep:reqwest",
"reqwest/rustls-tls",
"dep:base64",
"dep:percent-encoding",
]
client-wasm = [
"dep:tokio",
"dep:web-time",
"dep:tonic-web-wasm-client",
"dep:getrandom",
"dep:futures-channel",
"dep:p256",
"dep:ecdsa",
"dep:sha2",
"dep:hex",
"dep:reqwest",
"dep:base64",
"dep:percent-encoding",
]
default = ["client"]
[lib]
name = "fabric_sdk"
path = "src/lib.rs"
doctest = false
[[test]]
name = "handshake"
path = "tests/handshake.rs"
[[test]]
name = "integration"
path = "tests/integration/main.rs"
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.ecdsa]
version = "0.17.0-rc.16"
features = [
"der",
"pkcs8",
"algorithm",
"pem",
"sha2",
]
optional = true
[dependencies.fabric-sdk-derives]
version = "0.1.1"
optional = true
[dependencies.futures-channel]
version = "0.3.31"
optional = true
[dependencies.futures-util]
version = "0.3.31"
optional = true
[dependencies.getrandom]
version = "0.4.2"
features = ["wasm_js"]
optional = true
[dependencies.hex]
version = "0.4.3"
optional = true
[dependencies.p256]
version = "0.14.0-rc.7"
optional = true
[dependencies.percent-encoding]
version = "2.3"
optional = true
[dependencies.prost]
version = "0.14.1"
[dependencies.prost-types]
version = "0.14.1"
[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
default-features = false
[dependencies.serde]
version = "1.0.219"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.143"
[dependencies.sha2]
version = "0.10.9"
optional = true
[dependencies.tokio]
version = "1.47.1"
features = [
"rt",
"time",
"io-util",
"sync",
"macros",
]
optional = true
default-features = false
[dependencies.tonic]
version = "0.14.5"
features = ["codegen"]
default-features = false
[dependencies.tonic-prost]
version = "0.14.2"
[dependencies.tonic-web-wasm-client]
version = "0.8.0"
optional = true
[dependencies.web-time]
version = "1.1.0"
optional = true
[dev-dependencies.dotenv]
version = "0.15.0"
[dev-dependencies.tokio]
version = "1.28.0"
features = ["full"]
[build-dependencies.tonic-prost-build]
version = "0.14.2"
default-features = false