Incorporate a scalable, real-time, decentralized log of events with consensus timestamps into any web2 or permissionless web3 application.
Hedera is the only layer 1 public network to offer developers a tool to create decentralized logs of immutable and timestamped events for mission-critical web2 and permissionless web3 applications — track products in a supply chain, log sensitive user access information, build DAO tooling, create an asset bridge, and more.
Enabled by low, fixed fees, scalable transactions, and native consensus timestamps, the Hedera Consensus Service (HCS) acts as a ‘decentralized Kafka’, delivering multi-party trust for streaming data at web scale.
EVENTS LOGGEDin the last 24 hours
USD FIXED FEEper every message sent
CONSENSUS FINALITYfor every transaction
Network bridges, supply chain and adtech platforms, DAO governance, and more - all deployed in production using the Hedera Consensus Service.
Facilitate on-chain governance utilizing the Hedera public network. The open source DAO voting application built by Calaxy uses Hedera Consensus Service to better encourage and facilitate governance. Get to know the design and use cases supported, like key management & token weighted voting.
Use the Hedera Consensus Service API to start building applications which take advantage of the high-throughput, fair ordering, and fast finality of Hedera
const { TopicCreateTransaction } = require("@hashgraph/sdk"); // Create a new public topic let txResponse = await new TopicCreateTransaction().execute(client); // Grab the topic ID let receipt = await txResponse.getReceipt(client); let topicId = receipt.topicId; console.log(`Your topic ID is: ${topicId}`); // Console: Your topic ID is: 0.0.114920
const { TopicMessageSubmitTransaction } = require("@hashgraph/sdk"); // Submit a message let sendResponse = await new TopicMessageSubmitTransaction({ topicId: topicId, message: "Hello, HCS!" }).execute(client);
const { TopicMessageQuery } = require("@hashgraph/sdk"); // Subscribe to the topic new TopicMessageQuery() .setTopicId(topicId) .subscribe(client, (message) => { let messageAsString = Buffer.from(message.contents, "utf8").toString(); console.log( `Sequence number: ${message.sequenceNumber} - ${messageAsString}` ) })