An attempt to use risc0 with ink!

Overview

zink! - risc0 + ink!

A demo project prepared for the ParisDot talk ("Zero-Knowledge Proofs using ink!").

The repo contains

Instructions

  1. Compile the node and run it in the background (or separate shell session)
cargo build -r
target/release/zink-node --dev
  1. Go to the prover and run the proving locally
cargo run
  1. Copy paste the image ID outputted
  2. Go to the ink! project and compile it (make sure you have cargo-contract installed, instructions)
cargo contract build --release
  1. Instantiate the contract with the IMAGE ID, generated earlier
cargo contract instantiate --suri //Alice --args "<IMAGE_ID>"
  1. Go back to to the prover and run the it again with the contract address as an arg to generate the proof and submit it a transaction to the node with it
cargo run -- --contract-address <address>
  1. (Optional) if you want to verify the result. Go to the ink! project
cargo contract call --suri //Alice --message "get_status" --contract <contract address>

The rest of the substrate docs

Getting Started

Depending on your operating system and Rust version, there might be additional packages required to compile this template. Check the installation instructions for your platform for the most common dependencies. Alternatively, you can use one of the alternative installation options.

Build

Use the following command to build the node without launching it:

cargo build --release

Embedded Docs

After you build the project, you can use the following command to explore its parameters and subcommands:

./target/release/node-template -h

You can generate and view the Rust Docs for this template with this command:

cargo +nightly doc --open

Single-Node Development Chain

The following command starts a single-node development chain that doesn't persist state:

./target/release/node-template --dev

To purge the development chain's state, run the following command:

./target/release/node-template purge-chain --dev

To start the development chain with detailed logging, run the following command:

RUST_BACKTRACE=1 ./target/release/node-template -ldebug --dev

Development chains:

  • Maintain state in a tmp folder while the node is running.
  • Use the Alice and Bob accounts as default validator authorities.
  • Use the Alice account as the default sudo account.
  • Are preconfigured with a genesis state (/node/src/chain_spec.rs) that includes several prefunded development accounts.

To persist chain state between runs, specify a base path by running a command similar to the following:

// Create a folder to use as the db base path
$ mkdir my-chain-state

// Use of that folder to store the chain state
$ ./target/release/node-template --dev --base-path ./my-chain-state/

// Check the folder structure created inside the base path after running the chain
$ ls ./my-chain-state
chains
$ ls ./my-chain-state/chains/
dev
$ ls ./my-chain-state/chains/dev
db keystore network

Connect with Polkadot-JS Apps Front-End

After you start the node template locally, you can interact with it using the hosted version of the Polkadot/Substrate Portal front-end by connecting to the local node endpoint. A hosted version is also available on IPFS (redirect) here or IPNS (direct) here. You can also find the source code and instructions for hosting your own instance on the polkadot-js/apps repository.

Multi-Node Local Testnet

If you want to see the multi-node consensus algorithm in action, see Simulate a network.

Template Structure

A Substrate project such as this consists of a number of components that are spread across a few directories.

Node

A blockchain node is an application that allows users to participate in a blockchain network. Substrate-based blockchain nodes expose a number of capabilities:

  • Networking: Substrate nodes use the libp2p networking stack to allow the nodes in the network to communicate with one another.
  • Consensus: Blockchains must have a way to come to consensus on the state of the network. Substrate makes it possible to supply custom consensus engines and also ships with several consensus mechanisms that have been built on top of Web3 Foundation research.
  • RPC Server: A remote procedure call (RPC) server is used to interact with Substrate nodes.

There are several files in the node directory. Take special note of the following:

  • chain_spec.rs: A chain specification is a source code file that defines a Substrate chain's initial (genesis) state. Chain specifications are useful for development and testing, and critical when architecting the launch of a production chain. Take note of the development_config and testnet_genesis functions. These functions are used to define the genesis state for the local development chain configuration. These functions identify some well-known accounts and use them to configure the blockchain's initial state.
  • service.rs: This file defines the node implementation. Take note of the libraries that this file imports and the names of the functions it invokes. In particular, there are references to consensus-related topics, such as the block finalization and forks and other consensus mechanisms such as Aura for block authoring and GRANDPA for finality.

Runtime

In Substrate, the terms "runtime" and "state transition function" are analogous. Both terms refer to the core logic of the blockchain that is responsible for validating blocks and executing the state changes they define. The Substrate project in this repository uses FRAME to construct a blockchain runtime. FRAME allows runtime developers to declare domain-specific logic in modules called "pallets". At the heart of FRAME is a helpful macro language that makes it easy to create pallets and flexibly compose them to create blockchains that can address a variety of needs.

Review the FRAME runtime implementation included in this template and note the following:

  • This file configures several pallets to include in the runtime. Each pallet configuration is defined by a code block that begins with impl $PALLET_NAME::Config for Runtime.
  • The pallets are composed into a single runtime by way of the construct_runtime! macro, which is part of the core FRAME Support system library.

Pallets

The runtime in this project is constructed using many FRAME pallets that ship with the core Substrate repository and a template pallet that is defined in the pallets directory.

A FRAME pallet is compromised of a number of blockchain primitives:

  • Storage: FRAME defines a rich set of powerful storage abstractions that makes it easy to use Substrate's efficient key-value database to manage the evolving state of a blockchain.
  • Dispatchables: FRAME pallets define special types of functions that can be invoked (dispatched) from outside of the runtime in order to update its state.
  • Events: Substrate uses events and errors to notify users of important changes in the runtime.
  • Errors: When a dispatchable fails, it returns an error.
  • Config: The Config configuration interface is used to define the types and parameters upon which a FRAME pallet depends.

Alternative Installations

Instead of installing dependencies and building this source directly, consider the following alternatives.

CI

Binary

Check the CI release workflow to see how the binary is built on CI. You can modify the compilation targets depending on your needs.

Allow GitHub actions in your forked repository to build the binary for you.

Push a tag. For example, v0.1.1. Based on Semantic Versioning, the supported tag format is v?MAJOR.MINOR.PATCH(-PRERELEASE)?(+BUILD_METADATA)? (the leading "v", pre-release version, and build metadata are optional and the optional prefix is also supported).

After the pipeline is finished, you can download the binary from the releases page.

Container

Check the CI release workflow to see how the Docker image is built on CI.

Add your DOCKERHUB_USERNAME and DOCKERHUB_TOKEN secrets or other organization settings to your forked repository. Change the DOCKER_REPO variable in the workflow to [your DockerHub registry name]/[image name].

Push a tag.

After the image is built and pushed, you can pull it with docker pull <DOCKER_REPO>:<tag>.

Nix

Install nix, and optionally direnv and lorri for a fully plug-and-play experience for setting up the development environment. To get all the correct dependencies, activate direnv direnv allow and lorri lorri shell.

Docker

Please follow the Substrate Docker instructions here to build the Docker container with the Substrate Node Template binary.

Comments
  • Bump clap from 4.3.12 to 4.3.17

    Bump clap from 4.3.12 to 4.3.17

    Bumps clap from 4.3.12 to 4.3.17.

    Release notes

    Sourced from clap's releases.

    v4.3.17

    [4.3.17] - 2023-07-19

    Fixes

    • (help) Address a regression in wrapping PossibleValue descriptions in --help

    v4.3.16

    [4.3.16] - 2023-07-18

    Fixes

    • Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists)

    v4.3.15

    [4.3.15] - 2023-07-18

    Features

    • (unstable-styles) Re-export anstyle

    Documentation

    • (unstable-styles) Provide more examples

    v4.3.14

    [4.3.14] - 2023-07-17

    Features

    • ArgAction::HelpShort and ArgAction::HelpLong for explicitly specifying which style of help to display

    Fixes

    • Skip [OPTIONS] in usage if a help or version ArgAction is used

    v4.3.13

    [4.3.13] - 2023-07-17

    Changelog

    Sourced from clap's changelog.

    [4.3.17] - 2023-07-19

    Fixes

    • (help) Address a regression in wrapping PossibleValue descriptions in --help

    [4.3.16] - 2023-07-18

    Fixes

    • Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists)

    [4.3.15] - 2023-07-18

    Features

    • (unstable-styles) Re-export anstyle

    Documentation

    • (unstable-styles) Provide more examples

    [4.3.14] - 2023-07-17

    Features

    • ArgAction::HelpShort and ArgAction::HelpLong for explicitly specifying which style of help to display

    Fixes

    • Skip [OPTIONS] in usage if a help or version ArgAction is used

    [4.3.13] - 2023-07-17

    Commits
    • d824b1f chore: Release
    • 99b478c docs: Upate changelog
    • 4c7b9a1 Merge pull request #5023 from epage/wrap
    • 8b536e2 fix(help): Wrap long possible values correctly
    • 0951f93 Merge pull request #5018 from epage/dynamiite
    • 00e9217 feat(complete)!: Open to new shells for dynamic completions
    • 830dd74 feat(complete): Add dynamic-support shell enum
    • 278ae3e refactor(complete): Pull out completer
    • e3f1ad9 refactor(complete): Generalize dynamic CLI interface
    • 8e9ded2 fix(complete)!: Pull out generic completion code
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump clap from 4.3.12 to 4.3.16

    Bump clap from 4.3.12 to 4.3.16

    Bumps clap from 4.3.12 to 4.3.16.

    Release notes

    Sourced from clap's releases.

    v4.3.16

    [4.3.16] - 2023-07-18

    Fixes

    • Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists)

    v4.3.15

    [4.3.15] - 2023-07-18

    Features

    • (unstable-styles) Re-export anstyle

    Documentation

    • (unstable-styles) Provide more examples

    v4.3.14

    [4.3.14] - 2023-07-17

    Features

    • ArgAction::HelpShort and ArgAction::HelpLong for explicitly specifying which style of help to display

    Fixes

    • Skip [OPTIONS] in usage if a help or version ArgAction is used

    v4.3.13

    [4.3.13] - 2023-07-17

    Changelog

    Sourced from clap's changelog.

    [4.3.16] - 2023-07-18

    Fixes

    • Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists)

    [4.3.15] - 2023-07-18

    Features

    • (unstable-styles) Re-export anstyle

    Documentation

    • (unstable-styles) Provide more examples

    [4.3.14] - 2023-07-17

    Features

    • ArgAction::HelpShort and ArgAction::HelpLong for explicitly specifying which style of help to display

    Fixes

    • Skip [OPTIONS] in usage if a help or version ArgAction is used

    [4.3.13] - 2023-07-17

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump jsonrpsee from 0.16.2 to 0.18.2

    Bump jsonrpsee from 0.16.2 to 0.18.2

    Bumps jsonrpsee from 0.16.2 to 0.18.2.

    Release notes

    Sourced from jsonrpsee's releases.

    v0.18.2

    This release improves error message for too big batch response and exposes the BatchRequestConfig type in order to make it possible to use ServerBuilder::set_batch_request_config

    Fixed

    • server: export BatchRequestConfig (#1112)
    • fix(server): improve too big batch response msg (#1107)

    v0.18.1

    This release fixes a couple bugs and improves the ergonomics for the HTTP client when no tower middleware is enabled.

    Changed

    • http client: add default generic param for the backend (#1099)

    Fixed

    • rpc module: fix race in subscription close callback (#1098)
    • client: add missing batch request tracing span (#1097)
    • ws server: don't wait for graceful shutdown when connection already closed (#1103)

    v0.18.0

    [v0.18.0] - 2023-04-21

    This is a breaking release that removes the CallError which was used to represent a JSON-RPC error object that could happen during JSON-RPC method call and one could assign application specific error code, message and data in a specific implementation.

    Previously jsonrpsee provided CallError that could be converted to/from jsonrpsee::core::Error and in some scenarios the error code was automatically assigned by jsonrpsee. After jsonrpsee added support for custom error types the CallError doesn't provide any benefit because one has to implement Into<ErrorObjectOwned> on the error type anyway.

    Thus, jsonrpsee::core::Error can't be used in the proc macro API anymore and the type alias RpcResult has been modified to Result<(), ErrorObjectOwned> instead.

    Before it was possible to do:

    #[derive(thiserror::Error)]
    enum Error {
    	A,
    	B,
    }
    

    #[rpc(server, client)] pub trait Rpc { #[method(name = "getKeys")] async fn keys(&self) -> Result<String, jsonrpsee::core::Error> { Err(jsonrpsee::core::Error::to_call_error(Error::A)) // or jsonrpsee::core::Error::Call(CallError::Custom(ErrorObject::owned(1, "a", None::<()>))) </tr></table>

    ... (truncated)

    Changelog

    Sourced from jsonrpsee's changelog.

    [v0.18.2] - 2023-05-10

    This release improves error message for too big batch response and exposes the BatchRequestConfig type in order to make it possible to use ServerBuilder::set_batch_request_config

    Fixed

    • server: export BatchRequestConfig (#1112)
    • fix(server): improve too big batch response msg (#1107)

    [v0.18.1] - 2023-04-26

    This release fixes a couple bugs and improves the ergonomics for the HTTP client when no tower middleware is enabled.

    Changed

    • http client: add default generic param for the backend (#1099)

    Fixed

    • rpc module: fix race in subscription close callback (#1098)
    • client: add missing batch request tracing span (#1097)
    • ws server: don't wait for graceful shutdown when connection already closed (#1103)

    [v0.18.0] - 2023-04-21

    This is a breaking release that removes the CallError which was used to represent a JSON-RPC error object that could happen during JSON-RPC method call and one could assign application specific error code, message and data in a specific implementation.

    Previously jsonrpsee provided CallError that could be converted to/from jsonrpsee::core::Error and in some scenarios the error code was automatically assigned by jsonrpsee. After jsonrpsee added support for custom error types the CallError doesn't provide any benefit because one has to implement Into<ErrorObjectOwned> on the error type anyway.

    Thus, jsonrpsee::core::Error can't be used in the proc macro API anymore and the type alias RpcResult has been modified to Result<(), ErrorObjectOwned> instead.

    Before it was possible to do:

    #[derive(thiserror::Error)]
    enum Error {
    	A,
    	B,
    }
    

    #[rpc(server, client)] pub trait Rpc { #[method(name = "getKeys")] async fn keys(&self) -> Result<String, jsonrpsee::core::Error> { Err(jsonrpsee::core::Error::to_call_error(Error::A)) </tr></table>

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump jsonrpsee from 0.16.2 to 0.17.1

    Bump jsonrpsee from 0.16.2 to 0.17.1

    Bumps jsonrpsee from 0.16.2 to 0.17.1.

    Release notes

    Sourced from jsonrpsee's releases.

    v0.17.1

    [v0.17.1] - 2023-04-21

    This release fixes HTTP graceful shutdown for the server.

    [Fixed]

    • server: fix http graceful shutdown (#1090)

    v0.17.0

    This is a significant release and the major breaking changes to be aware of are:

    Server backpressure

    This release changes the server to be "backpressured" and it mostly concerns subscriptions. New APIs has been introduced because of that and the API pipe_from_stream has been removed.

    Before it was possible to do:

    	module
    		.register_subscription("sub", "s", "unsub", |_, sink, _| async move {
    			let stream = stream_of_integers();
    
    		tokio::spawn(async move {
    			sink.pipe_from_stream(stream)
    		});
    	})
    	.unwrap();
    

    After this release one must do something like:

    	// This is just a example helper.
    	//
    	// Other examples:
    	// - <https://github.com/paritytech/jsonrpsee/blob/master/examples/examples/ws_pubsub_broadcast.rs>
    	// - <https://github.com/paritytech/jsonrpsee/blob/master/examples/examples/ws_pubsub_with_params.rs>
    	async fn pipe_from_stream<T: Serialize>(
    		pending: PendingSubscriptionSink,
    		mut stream: impl Stream<Item = T> + Unpin,
    	) -> Result<(), anyhow::Error> {
    		let mut sink = pending.accept().await?;
    
    	loop {
    		tokio::select! {
    			_ = sink.closed() =&gt; break Ok(()),
    
    		maybe_item = stream.next() =&amp;gt; {
    			let Some(item) = match maybe_item else {
    

    </tr></table>

    ... (truncated)

    Changelog

    Sourced from jsonrpsee's changelog.

    [v0.17.1] - 2023-04-21

    This release fixes HTTP graceful shutdown for the server.

    [Fixed]

    • server: fix http graceful shutdown (#1090)

    [v0.17.0] - 2023-04-17

    This is a significant release and the major breaking changes to be aware of are:

    Server backpressure

    This release changes the server to be "backpressured" and it mostly concerns subscriptions. New APIs has been introduced because of that and the API pipe_from_stream has been removed.

    Before it was possible to do:

    	module
    		.register_subscription("sub", "s", "unsub", |_, sink, _| async move {
    			let stream = stream_of_integers();
    
    		tokio::spawn(async move {
    			sink.pipe_from_stream(stream)
    		});
    	})
    	.unwrap();
    

    After this release one must do something like:

    	// This is just a example helper.
    	//
    	// Other examples:
    	// - <https://github.com/paritytech/jsonrpsee/blob/master/examples/examples/ws_pubsub_broadcast.rs>
    	// - <https://github.com/paritytech/jsonrpsee/blob/master/examples/examples/ws_pubsub_with_params.rs>
    	async fn pipe_from_stream<T: Serialize>(
    		pending: PendingSubscriptionSink,
    		mut stream: impl Stream<Item = T> + Unpin,
    	) -> Result<(), anyhow::Error> {
    		let mut sink = pending.accept().await?;
    
    	loop {
    		tokio::select! {
    			_ = sink.closed() =&gt; break Ok(()),
    
    		maybe_item = stream.next() =&amp;gt; {
    			let Some(item) = match maybe_item else {
    

    </tr></table>

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump clap from 4.2.7 to 4.3.12

    Bump clap from 4.2.7 to 4.3.12

    Bumps clap from 4.2.7 to 4.3.12.

    Release notes

    Sourced from clap's releases.

    v4.3.12

    [4.3.12] - 2023-07-14

    Fixes

    • (derive) Don't error on enum variant field attributes

    v4.3.11

    [4.3.11] - 2023-07-05

    Features

    • (derive) Support fields wrapped in num::Wrapping, Box, or Arc
    • (derive) Support Box<str>, Box<OsStr>, and Box<Path>

    v4.3.10

    [4.3.10] - 2023-06-30

    Performance

    • Drop a dependency, reducing binary size by 1.3 KiB

    v4.3.9

    [4.3.9] - 2023-06-28

    Fixes

    • Command::ignore_errors no longer masks help/version

    v4.3.8

    [4.3.8] - 2023-06-23

    Fixes

    • Error on ambiguity with infer_long_arg, rather than arbitrarily picking one, matching the documentation and subcommand's behavior

    v4.3.7

    [4.3.7] - 2023-06-23

    Documentation

    • Further clarify magic behavior in derive tutorial
    • Further clarify derive API's relationship to builder within the tutorial

    v4.3.6

    [4.3.6] - 2023-06-23

    Documentation

    • Suggest clio

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [4.3.12] - 2023-07-14

    Fixes

    • (derive) Don't error on enum variant field attributes

    [4.3.11] - 2023-07-05

    Features

    • (derive) Support fields wrapped in num::Wrapping, Box, or Arc
    • (derive) Support Box<str>, Box<OsStr>, and Box<Path>

    [4.3.10] - 2023-06-30

    Performance

    • Drop a dependency, reducing binary size by 1.3 KiB

    [4.3.9] - 2023-06-28

    Fixes

    • Command::ignore_errors no longer masks help/version

    [4.3.8] - 2023-06-23

    Fixes

    • Error on ambiguity with infer_long_arg, rather than arbitrarily picking one, matching the documentation and subcommand's behavior

    [4.3.7] - 2023-06-23

    Documentation

    • Further clarify magic behavior in derive tutorial
    • Further clarify derive API's relationship to builder within the tutorial

    [4.3.6] - 2023-06-23

    Documentation

    • Suggest clio

    [4.3.5] - 2023-06-20

    • ColorChoice::possible_values is added to simplify things for builder users

    Fixes

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump scale-info from 2.6.0 to 2.9.0

    Bump scale-info from 2.6.0 to 2.9.0

    Bumps scale-info from 2.6.0 to 2.9.0.

    Release notes

    Sourced from scale-info's releases.

    v2.9.0

    [2.9.0] - 2023-07-03

    Changed

    v2.8.0

    [2.8.0] - 2023-06-21

    Added

    Changelog

    Sourced from scale-info's changelog.

    [2.9.0] - 2023-07-03

    Changed

    [2.8.0] - 2023-06-21

    Added

    [2.7.0] - 2023-05-15

    Added

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump sp-std from `bca8a29` to `5e49f6e`

    Bump sp-std from `bca8a29` to `5e49f6e`

    Bumps sp-std from bca8a29 to 5e49f6e.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump frame-system-benchmarking from `bca8a29` to `5e49f6e`

    Bump frame-system-benchmarking from `bca8a29` to `5e49f6e`

    Bumps frame-system-benchmarking from bca8a29 to 5e49f6e.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump pallet-balances from `bca8a29` to `5e49f6e`

    Bump pallet-balances from `bca8a29` to `5e49f6e`

    Bumps pallet-balances from bca8a29 to 5e49f6e.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump frame-system-rpc-runtime-api from `bca8a29` to `5e49f6e`

    Bump frame-system-rpc-runtime-api from `bca8a29` to `5e49f6e`

    Bumps frame-system-rpc-runtime-api from bca8a29 to 5e49f6e.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump try-runtime-cli from `bca8a29` to `5e49f6e`

    Bump try-runtime-cli from `bca8a29` to `5e49f6e`

    Bumps try-runtime-cli from bca8a29 to 5e49f6e.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump jsonrpsee from 0.16.2 to 0.19.0

    Bump jsonrpsee from 0.16.2 to 0.19.0

    Bumps jsonrpsee from 0.16.2 to 0.19.0.

    Release notes

    Sourced from jsonrpsee's releases.

    V0.19.0

    Fixed

    • Fixed connections processing await on server shutdown (#1153)
    • fix: include error code in RpcLogger (#1135)
    • fix: downgrade more logs to debug (#1127)
    • fix(server): remove MethodSinkPermit to fix backpressure issue on concurrent subscriptions (#1126)
    • fix readme links (#1152)

    Changed

    • server: downgrade connection logs to debug (#1123)
    • refactor(server): make Server::start infallible and add fn builder() (#1137)

    v0.18.2

    This release improves error message for too big batch response and exposes the BatchRequestConfig type in order to make it possible to use ServerBuilder::set_batch_request_config

    Fixed

    • server: export BatchRequestConfig (#1112)
    • fix(server): improve too big batch response msg (#1107)

    v0.18.1

    This release fixes a couple bugs and improves the ergonomics for the HTTP client when no tower middleware is enabled.

    Changed

    • http client: add default generic param for the backend (#1099)

    Fixed

    • rpc module: fix race in subscription close callback (#1098)
    • client: add missing batch request tracing span (#1097)
    • ws server: don't wait for graceful shutdown when connection already closed (#1103)

    v0.18.0

    [v0.18.0] - 2023-04-21

    This is a breaking release that removes the CallError which was used to represent a JSON-RPC error object that could happen during JSON-RPC method call and one could assign application specific error code, message and data in a specific implementation.

    Previously jsonrpsee provided CallError that could be converted to/from jsonrpsee::core::Error and in some scenarios the error code was automatically assigned by jsonrpsee. After jsonrpsee added support for custom error types the CallError doesn't provide any benefit because one has to implement Into<ErrorObjectOwned> on the error type anyway.

    Thus, jsonrpsee::core::Error can't be used in the proc macro API anymore and the type alias RpcResult has been modified to Result<(), ErrorObjectOwned> instead.

    Before it was possible to do:

    ... (truncated)

    Changelog

    Sourced from jsonrpsee's changelog.

    [v0.19.0] - 2023-07-20

    [Fixed]

    • Fixed connections processing await on server shutdown (#1153)
    • fix: include error code in RpcLogger (#1135)
    • fix: downgrade more logs to debug (#1127)
    • fix(server): remove MethodSinkPermit to fix backpressure issue on concurrent subscriptions (#1126)
    • fix readme links (#1152)

    [Changed]

    • server: downgrade connection logs to debug (#1123)
    • refactor(server): make Server::start infallible and add fn builder() (#1137)

    [v0.18.2] - 2023-05-10

    This release improves error message for too big batch response and exposes the BatchRequestConfig type in order to make it possible to use ServerBuilder::set_batch_request_config

    [Fixed]

    • server: export BatchRequestConfig (#1112)
    • fix(server): improve too big batch response msg (#1107)

    [v0.18.1] - 2023-04-26

    This release fixes a couple bugs and improves the ergonomics for the HTTP client when no tower middleware is enabled.

    [Changed]

    • http client: add default generic param for the backend (#1099)

    [Fixed]

    • rpc module: fix race in subscription close callback (#1098)
    • client: add missing batch request tracing span (#1097)
    • ws server: don't wait for graceful shutdown when connection already closed (#1103)

    [v0.18.0] - 2023-04-21

    This is a breaking release that removes the CallError which was used to represent a JSON-RPC error object that could happen during JSON-RPC method call and one could assign application specific error code, message and data in a specific implementation.

    Previously jsonrpsee provided CallError that could be converted to/from jsonrpsee::core::Error and in some scenarios the error code was automatically assigned by jsonrpsee. After jsonrpsee added support for custom error types the CallError doesn't provide any benefit because one has to implement Into<ErrorObjectOwned> on the error type anyway.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • Bump clap from 4.3.12 to 4.3.19

    Bump clap from 4.3.12 to 4.3.19

    Bumps clap from 4.3.12 to 4.3.19.

    Release notes

    Sourced from clap's releases.

    v4.3.19

    [4.3.19] - 2023-07-21

    Fixes

    • (parse) Respect value_terminator even in the presence of later multiple-value positional arguments

    v4.3.18

    [4.3.18] - 2023-07-21

    Fixes

    • (parse) Suggest -- in fewer places where it won't work

    v4.3.17

    [4.3.17] - 2023-07-19

    Fixes

    • (help) Address a regression in wrapping PossibleValue descriptions in --help

    v4.3.16

    [4.3.16] - 2023-07-18

    Fixes

    • Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists)

    v4.3.15

    [4.3.15] - 2023-07-18

    Features

    • (unstable-styles) Re-export anstyle

    Documentation

    • (unstable-styles) Provide more examples

    v4.3.14

    [4.3.14] - 2023-07-17

    Features

    • ArgAction::HelpShort and ArgAction::HelpLong for explicitly specifying which style of help to display

    Fixes

    • Skip [OPTIONS] in usage if a help or version ArgAction is used

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [4.3.19] - 2023-07-21

    Fixes

    • (parse) Respect value_terminator even in the presence of later multiple-value positional arguments

    [4.3.18] - 2023-07-21

    Fixes

    • (parse) Suggest -- in fewer places where it won't work

    [4.3.17] - 2023-07-19

    Fixes

    • (help) Address a regression in wrapping PossibleValue descriptions in --help

    [4.3.16] - 2023-07-18

    Fixes

    • Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists)

    [4.3.15] - 2023-07-18

    Features

    • (unstable-styles) Re-export anstyle

    Documentation

    • (unstable-styles) Provide more examples

    [4.3.14] - 2023-07-17

    Features

    • ArgAction::HelpShort and ArgAction::HelpLong for explicitly specifying which style of help to display

    Fixes

    • Skip [OPTIONS] in usage if a help or version ArgAction is used

    [4.3.13] - 2023-07-17

    Commits
    • ae5549d chore: Release
    • 4b30a2c docs: Update changelog
    • 5540d20 Merge pull request #5037 from epage/term
    • 8bee728 fix(parser): Value terminator has higher precedence than later multiple values
    • bdf205b test(parser): Show one value terminator bug
    • 727ca29 Merge pull request #5034 from epage/update
    • 9856d67 chore: Release
    • a6267b7 docs: Update changelog
    • e822341 Merge pull request #5033 from epage/escape
    • 0137a8b chore(complete): Update completest
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • Bump docker/login-action from 2.1.0 to 2.2.0

    Bump docker/login-action from 2.1.0 to 2.2.0

    Bumps docker/login-action from 2.1.0 to 2.2.0.

    Release notes

    Sourced from docker/login-action's releases.

    v2.2.0

    Full Changelog: https://github.com/docker/login-action/compare/v2.1.0...v2.2.0

    Commits
    • 465a078 Merge pull request #524 from crazy-max/bump-aws
    • 360b4b5 Merge pull request #512 from jhihruei/change/update-gitlab-readme
    • c156700 update generated content
    • f605cf1 bump @​aws-sdk/client-ecr and @​aws-sdk/client-ecr-public to 3.347.1
    • 2a93a3e Merge pull request #508 from docker/dependabot/npm_and_yarn/https-proxy-agent...
    • 422e90f update generated content
    • bc8c4d0 build(deps): bump https-proxy-agent from 5.0.1 to 7.0.0
    • 052c2c4 Merge pull request #509 from docker/dependabot/npm_and_yarn/http-proxy-agent-...
    • beabccd update generated content
    • b56ed1c build(deps): bump http-proxy-agent from 5.0.0 to 7.0.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
Owner
German
Rust Lover | Blockchain Enthusiast | Big Brother
German
Webb Protocol implementation in Ink!

Webb Protocol Ink! ??️ Webb Protocol Ink! ⧫ ⚠️ Beta Software ⚠️ Dependencies A prerequisite for compiling smart contracts is to have Rust and Cargo in

webb 4 Aug 5, 2022
Helpers crate to simplify ink! chain extension development

OpenBrush Chain Extension library The library provides tools and primitives to simplify the development of chain extensions for ink! and for the subst

Supercolony 7 Dec 1, 2022
The Ink! smart contract SDK for XVM interface

Ink! XVM SDK The Ink! smart contract SDK for XVM interface. This SDK contains contract wrappers and all middleware code to make XVM development easy.

Astar Network 13 Jan 3, 2023
Binding generator for EVM and ink!

Sumi is a binding generator specifically designed for Astar Network ecosystem with XVM in mind. It takes EVM metadata and converts it to an ink! modul

Dmitry 4 Dec 15, 2022
Example NFT marketplace project using ink! smart contract.

NFT Marketplace project This contract is an example for the NFT marketplace implementation. License Apache 2.0 ??️ How to use - Contracts ?? Build Use

Swanky dApps 8 Jan 18, 2023
De-chained Ready-to-play ink! playground

DRink! Dechained Ready-to-play ink! playground drink.mp4 What is DRink? DRink! aims providing support for ink! developers. It comes in two parts: drin

Cardinal 9 Jun 23, 2023
zink! is a library for developing ink! smart contracts with useful Rust macros that extend functionality and reduce boilerplate code.

zink! Smart Contract Macros This is a helper library for developing ink! smart contracts. It contains useful Rust macros that extend functionality and

Scio Labs 3 Nov 3, 2023
My attempt at learning Solana program (smart contract) development through RareSkill's Solana course.

60-days-of-solana My attempt at learning Solana program (smart contract) development through RareSkill's Solana course. Originally, I was trying to cr

Jasper 3 Feb 25, 2024
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Cossack Labs 1.6k Dec 30, 2022
Use Touch ID / Secure Enclave for SSH Authentication!

SeKey About SeKey is a SSH Agent that allow users to authenticate to UNIX/Linux SSH servers using the Secure Enclave How it Works? The Secure Enclave

SeKey 2.3k Jan 5, 2023
A modern, portable, easy to use crypto library.

Sodium is a new, easy-to-use software library for encryption, decryption, signatures, password hashing and more. It is a portable, cross-compilable, i

Frank Denis 10.7k Jan 3, 2023
HyperCube is a free and open source blockchain project for everyone to use.

XPZ Public Chain HyperCube is a free and open source blockchain project for everyone to use. 日本語 简体中文 正體中文 HyperCube Wiki Wha is HyperCube HyperCube i

null 949 Dec 31, 2022
use your GitHub SSH keys to authenticate to sshd

aeneid If you squint, GitHub is basically a free, zero-ops IdP that provides SSH public keys. Let's use it to authenticate to OpenSSH! What / How? The

Nikhil Jha 21 Dec 6, 2022
ssh-box: use ssh keys to encrypt files

ssh-box: use ssh keys to encrypt files work in progress ssh-box file format A file encrypted by ssh-box is an ASCII-armored binary file. The binary co

Tony Finch 3 Jun 27, 2022
Unified directories for different use cases of an application, providing standard directories for local development, when run as service or when run by a user.

UniDirs Unified directories for different use cases of an application, providing standard directories for local development, when run as service or wh

Dominik Nakamura 3 Sep 30, 2022
An easy-to-use, high-performance Interledger implementation written in Rust

Interledger implementation in Rust ?? Requirements All crates require Rust 2018 edition and are tested on the following channels: stable Connecting to

Interledger.rs 184 Dec 13, 2022
An easy-to-use generic trainer for Linux, written in Rust.

An easy-to-use generic trainer for Linux written in Rust, with basic memory hacking features. Use it for your games or applications where needed, there is also the tuxtraind daemon which will probe for processes and apply matching trainers automatically.

null 37 Aug 10, 2022
A simple to use dos tool to support Ukraine 🇺🇦

A short explanation How to download section | Guide for Windows | Guide for macOS This program visits various russian websites in order to keep the se

Grrwahrr 10 Apr 15, 2022
A minimal esp-hal application template for use with cargo-generate

{{ project-name }} A minimalist template for use with cargo-generate to create no_std applications targeting Espressif's line of SoCs and modules. At

esp-rs 35 Dec 29, 2022