{"id":22799839,"url":"https://github.com/tangle-network/blueprint-template","last_synced_at":"2026-03-18T00:03:14.544Z","repository":{"id":251232211,"uuid":"836234223","full_name":"tangle-network/blueprint-template","owner":"tangle-network","description":"A simple Hello World Blueprint for Tangle.","archived":false,"fork":false,"pushed_at":"2026-03-01T01:05:25.000Z","size":437,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-11T09:10:17.777Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tangle-network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-31T12:28:29.000Z","updated_at":"2026-03-01T01:05:29.000Z","dependencies_parsed_at":"2024-08-01T17:33:08.271Z","dependency_job_id":"0a542de4-f32f-4c9b-83c2-2a78d1543c38","html_url":"https://github.com/tangle-network/blueprint-template","commit_stats":null,"previous_names":["webb-tools/blueprint-template","tangle-network/blueprint-template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/tangle-network/blueprint-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Fblueprint-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Fblueprint-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Fblueprint-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Fblueprint-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tangle-network","download_url":"https://codeload.github.com/tangle-network/blueprint-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Fblueprint-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30636678,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T23:56:54.546Z","status":"ssl_error","status_checked_at":"2026-03-17T23:56:28.952Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-12T07:10:07.091Z","updated_at":"2026-03-18T00:03:14.529Z","avatar_url":"https://github.com/tangle-network.png","language":"Rust","readme":"![Tangle Network Banner](https://raw.githubusercontent.com/tangle-network/tangle/refs/heads/main/assets/Tangle%20%20Banner.png)\n\n# Hello World Tangle Blueprint\n\n[![Discord](https://img.shields.io/badge/Discord-Join%20Chat-7289da?logo=discord\u0026logoColor=white)](https://discord.gg/cv8EfJu3Tn)\n[![Twitter](https://img.shields.io/twitter/follow/tangle_network?style=social)](https://twitter.com/tangle_network)\n\n**Blueprint Template** is a starter template for building verifiable services on Tangle Network. It scaffolds a complete Blueprint project with Router, TangleArg, and x402 payment support out of the box.\n\n## Overview\n\nThis Tangle Blueprint provides a simple Hello World job using the Tangle EVM architecture.\nBlueprints are specifications for AVS (Actively Validated Services) on the Tangle Network. An AVS is\nan off-chain service that runs arbitrary computations for a user-specified period of time.\n\nBlueprints provide a useful abstraction, allowing developers to create reusable service infrastructures as if they were\nsmart contracts. This enables developers to monetize their work and align long-term incentives with the success of their\ncreations, benefiting proportionally to their Blueprint's usage.\n\nFor more details, please refer to the [project documentation](https://docs.tangle.tools/developers/blueprints/introduction).\n\n## Features\n\n- Tangle EVM-based blueprint architecture\n- ABI-compatible request/response types via `alloy-sol-types`\n- Custom greeting messages with caller address tracking\n\n## Prerequisites\n\nBefore you can run this project, you will need to have the following software installed on your machine:\n\n- [Rust 1.86+](https://www.rust-lang.org/tools/install)\n- [Forge](https://getfoundry.sh) (for smart contract development)\n\nYou will also need to install [cargo-tangle](https://crates.io/crates/cargo-tangle), our CLI tool for creating and\ndeploying Tangle Blueprints:\n\n```bash\ncargo install cargo-tangle --git https://github.com/tangle-network/blueprint --branch v2\n```\n\n## Getting Started\n\nOnce `cargo-tangle` is installed, you can create a new project with the following command:\n\n```sh\ncargo tangle blueprint create --name \u003cproject-name\u003e\n```\n\nand follow the instructions to create a new project.\n\n## Project Structure\n\n```\n{{project-name}}/\n  Cargo.toml              # Workspace configuration\n  {{project-name}}-lib/   # Blueprint library with job definitions\n    src/lib.rs            # Job implementation and router\n  {{project-name}}-bin/   # Blueprint runner binary\n    src/main.rs           # Main entry point\n  contracts/              # Solidity smart contracts\n```\n\n## Development\n\nBuild the project:\n\n```sh\ncargo build\n```\n\nRun tests:\n\n```sh\ncargo test\n```\n\nDeploy the blueprint to the Tangle network:\n\n```sh\ncargo tangle blueprint deploy tangle --network devnet\n```\n\n## Key Concepts\n\n- **Blueprint**: A specification for a verifiable, decentralized service on Tangle Network. Blueprints define jobs, handle results, and manage the operator lifecycle.\n- **Operator**: A node runner who registers to provide services defined by a Blueprint. Operators stake assets and earn rewards for honest execution.\n- **Router**: The component that maps incoming job calls to handler functions. Routes are defined with typed extractors (`TangleArg`) and return `TangleResult` types.\n- **TangleArg**: A typed extractor that deserializes on-chain job call parameters into Rust types for use in handler functions.\n- **TangleResult**: The return type for job handlers that serializes Rust values back into on-chain result format.\n- **BlueprintRunner**: The runtime that manages the lifecycle of a Blueprint operator, including job polling, execution, and result submission.\n- **cargo-tangle**: The CLI tool for creating, deploying, and managing Tangle Blueprints. Run `cargo tangle blueprint create` to scaffold a new project from this template.\n- **x402**: An HTTP-native payment protocol (HTTP 402 Payment Required) that enables per-request micropayments for Blueprint services.\n\n## FAQ\n\n### What is this template for?\nThis template scaffolds a new **Tangle Blueprint** project with the standard directory structure. It includes a Rust library crate for job handlers, a binary runner crate, and Solidity contracts for on-chain registration.\n\n### How do I create a new Blueprint from this template?\nRun `cargo tangle blueprint create --name my-blueprint` to generate a new project. The CLI clones this template and replaces placeholder names with your project name throughout the codebase.\n\n### What is the difference between the lib and bin crates?\nThe **lib crate** defines your job handlers and business logic using `Router`, `TangleArg`, and `TangleResult`. The **bin crate** wires everything together using `BlueprintRunner` and starts the operator service.\n\n### How do I deploy my Blueprint?\nBuild with `cargo build`, then deploy with `cargo tangle blueprint deploy tangle --network devnet` for testnet or `--network mainnet` for production. The CLI handles contract deployment and on-chain registration.\n\n### Can I add x402 payments to my Blueprint?\nYes. The Blueprint SDK includes `X402Gateway` and `X402Middleware` for adding per-request payment rails. Configure pricing in a TOML file and wire the gateway into your `BlueprintRunner`. See the x402-blueprint example in the main SDK repository.\n\n## License\n\nLicensed under either of\n\n* Apache License, Version 2.0\n  ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n* MIT license\n  ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n## Feedback and Contributions\n\nWe welcome feedback and contributions to improve this blueprint.\nPlease open an issue or submit a pull request on our GitHub repository.\nPlease let us know if you fork this blueprint and extend it too!\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangle-network%2Fblueprint-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftangle-network%2Fblueprint-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangle-network%2Fblueprint-template/lists"}