# diem/diem

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/diem-diem).**

16,702 stars · 2,570 forks · Rust · apache-2.0

## Links

- GitHub: https://github.com/diem/diem
- Homepage: https://diem.com
- awesome-repositories: https://awesome-repositories.com/repository/diem-diem.md

## Topics

`blockchain`

## Description

Diem is a distributed ledger technology platform designed for the development of decentralized applications and the execution of programmable financial transactions. It provides a comprehensive framework for operating validator nodes that maintain ledger integrity through a Byzantine fault-tolerant consensus protocol, ensuring consistent state updates across a distributed network of participants.

The platform distinguishes itself through a modular node architecture that decouples consensus, execution, and storage to facilitate scalability and maintenance. It utilizes a resource-oriented virtual machine and a type-safe smart contract engine that enforces strict ownership rules, specifically designed to prevent common financial vulnerabilities during the processing of digital assets.

The system supports a broad range of capabilities, including the integration of financial services such as digital wallets and merchant storefronts via a standardized remote procedure call interface. By organizing ledger history into cryptographic hashes, the platform enables efficient verification of state and historical transactions, providing a secure environment for defining custom logic and automated financial operations.

## Tags

### Networking & Communication

- [Blockchain Platforms](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/blockchain-platforms.md) — Provides a comprehensive infrastructure platform for running decentralized ledgers and executing programmable smart contracts.
- [Decentralized & Blockchain Technologies](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies.md) — Building decentralized applications that interact with distributed ledgers to read data and execute transactions through standardized remote procedure calls.
- [Blockchain RPC Interfaces](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/blockchain-rpc-interfaces.md) — Connect to decentralized ledgers using standardized remote procedure calls to read data and execute transactions within applications across various digital environments. ([source](https://developers.diem.com/docs/welcome-to-diem/))
- [RPC Interfaces](https://awesome-repositories.com/f/networking-communication/rpc-interfaces.md) — Exposes node functionality to external clients and financial services through a standardized remote procedure call interface.
- [Remote Procedure Call Interfaces](https://awesome-repositories.com/f/networking-communication/remote-procedure-call-interfaces.md) — A standardized communication layer that allows external clients and financial services to interact with the ledger through structured network requests.

### Data & Databases

- [Distributed Ledger Nodes](https://awesome-repositories.com/f/data-databases/distributed-ledger-nodes.md) — Maintaining the integrity and state of a distributed ledger by running nodes that process transactions and reach consensus with other participants.
- [Distributed Transaction Processing](https://awesome-repositories.com/f/data-databases/distributed-transaction-processing.md) — A multi-stage processing architecture that separates transaction validation, ordering, and execution to maximize throughput across the distributed network.
- [Pipelined Transaction Processors](https://awesome-repositories.com/f/data-databases/distributed-transaction-processing/pipelined-transaction-processors.md) — A multi-stage execution model that separates validation from ordering to increase throughput by processing multiple transaction blocks simultaneously.

### DevOps & Infrastructure

- [Blockchain Nodes](https://awesome-repositories.com/f/devops-infrastructure/blockchain-nodes.md) — Maintain the integrity and state of a distributed ledger by running nodes that process incoming transactions and reach consensus with other participants to secure the network. ([source](https://developers.diem.com/docs/welcome-to-diem))
- [Byzantine Fault Tolerant Protocols](https://awesome-repositories.com/f/devops-infrastructure/fault-tolerance/byzantine-fault-tolerant-protocols.md) — Maintains ledger integrity and state consistency across validator nodes using a Byzantine fault-tolerant consensus protocol.

### Programming Languages & Runtimes

- [Resource-Oriented](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/execution-engines/virtual-machines/resource-oriented.md) — A type-safe execution environment that enforces strict ownership rules to prevent unauthorized access or duplication of digital assets.

### Software Engineering & Architecture

- [Validator Node Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/modular-decoupled-design/decoupled-architectures/validator-node-architectures.md) — A decoupled system design where consensus, execution, and storage components operate independently to allow for network scalability and maintenance.
- [Decoupled Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/modular-decoupled-design/decoupled-architectures.md) — A decoupled system design where consensus, execution, and storage components operate independently to allow for easier maintenance and scaling.
- [Smart Contract Automations](https://awesome-repositories.com/f/software-engineering-architecture/smart-contract-automations.md) — Defining custom logic for managing and transferring digital assets using a secure language designed for verifiable and automated financial operations.
- [Merkle-Tree Storage Engines](https://awesome-repositories.com/f/software-engineering-architecture/string-processing-algorithms/tree-based-storage/merkle-tree-storage-engines.md) — A cryptographic data structure that organizes ledger history into hashes to enable efficient verification and integrity checks of state.

### Web Development

- [Smart Contract Environments](https://awesome-repositories.com/f/web-development/smart-contract-environments.md) — Provides a type-safe virtual machine environment that enforces strict resource ownership for secure smart contract execution.
- [Resource-Oriented Virtual Machines](https://awesome-repositories.com/f/web-development/smart-contract-environments/resource-oriented-virtual-machines.md) — A type-safe virtual machine environment that enforces strict resource ownership and prevents common financial vulnerabilities during transaction processing.

### Business & Productivity Software

- [Programmable Transaction Engines](https://awesome-repositories.com/f/business-productivity-software/financial-operational-management/billing-financial-systems/financial-technology/programmable-transaction-engines.md) — Transfer digital assets securely by defining custom logic for coin creation and state updates within programmable contracts that ensure verifiable and flexible financial operations. ([source](https://developers.diem.com/docs/welcome-to-diem))
- [Business and Financial Services](https://awesome-repositories.com/f/business-productivity-software/financial-operational-management/billing-financial-systems/business-and-financial-services.md) — Connecting digital wallets and merchant storefronts to blockchain networks to facilitate global asset management and process secure payments for users.
- [Blockchain Financial Integrations](https://awesome-repositories.com/f/business-productivity-software/financial-operational-management/billing-financial-systems/business-and-financial-services/blockchain-financial-integrations.md) — Connect digital wallets and merchant storefronts to blockchain networks using standardized interfaces to facilitate asset management and process secure payments for users worldwide. ([source](https://developers.diem.com/docs/welcome-to-diem))
