diff --git a/README.md b/README.md
index 3f93fe2..6b78ffe 100644
--- a/README.md
+++ b/README.md
@@ -11,9 +11,9 @@ This repository is the home of `akashjs`, a library designed to facilitate inter
| Package | Description |
| ------- | ----------- |
| [@akashnetwork/akashjs](src) | Main library for interacting with the Akash Network |
-| [@akashnetwork/akash-api](https://github.com/akash-network/akash-api/tree/main/ts) | Akash API generated from [Akash API](https://github.com/akash-network/akash-api) for interacting with the Akash Network. Documentation is available for [node](https://github.com/akash-network/akash-api/blob/main/docs/proto/node.md) and [provider](https://github.com/akash-network/akash-api/blob/main/docs/proto/provider.md) |
-| [@cosmjs/stargate](https://github.com/cosmos/cosmjs/tree/main/packages/stargate) | A client library for the Cosmos SDK 0.40+ (Stargate) |
-| [@cosmjs/proto-signing](https://github.com/cosmos/cosmjs/tree/main/packages/proto-signing) | A library for signing and broadcasting transactions using the Cosmos SDK |
+| [@akashnetwork/akash-api](https://github.com/akash-network/akash-api/tree/main/ts) | Akash API generated from [Akash API](https://github.com/akash-network/akash-api) for interacting with the Akash Network. Documentation is available for [node](https://github.com/akash-network/akash-api/blob/main/docs/proto/node.md) and [provider](https://github.com/akash-network/akash-api/blob/main/docs/proto/provider.md). |
+| [@cosmjs/stargate](https://github.com/cosmos/cosmjs/tree/main/packages/stargate) | A client library for the Cosmos SDK 0.40+ (Stargate). |
+| [@cosmjs/proto-signing](https://github.com/cosmos/cosmjs/tree/main/packages/proto-signing) | A library for signing and broadcasting transactions using the Cosmos SDK. |
## Compatibility
@@ -21,158 +21,29 @@ Compatible with modern browsers, nodejs 14+ and Webpack 5
## Installation
-Install from `npm` or `yarn`:
+To install the library, run the following command:
-```bash
-npm i @akashnetwork/akashjs
-yarn add @akashnetwork/akashjs
+```sh
+npm install @akashnetwork/akashjs
```
Or use the UMD bundle (the object returned is `Window.akjs`):
```html
-
-```
-
-## Key Features
-
-### Certificate Management
-
-Generate, broadcast and manage certificates for the Akash Network:
-
-```typescript
-import { certificate } from "@akashnetwork/akashjs";
-
-// Generate a new certificate
-const cert = await certificate.createCertificate("akash1...");
-
-// Broadcast the certificate
-await certificate.broadcastCertificate(cert, "akash1...", client);
-
-// Revoke a certificate
-await certificate.revokeCertificate("akash1...", "serial123", client);
-
-// Query certificates
-const certs = await certificate.queryCertificates({
- owner: "akash1..."
-});
+
```
-### Network Interaction
-
-Connect to and interact with the Akash Network:
+## Getting Started
-```typescript
-import { network, rpc } from "@akashnetwork/akashjs";
+The following example demonstrates how to fetch the state of the network.
-// Get sorted RPC endpoints for mainnet
-const endpoints = await network.getEndpointsSorted("mainnet", "rpc");
+```js
+import { getMetadata } from "@akashnetwork/akashjs/build/network/index.js";
-// Get network metadata
-const metadata = await network.getMetadata("mainnet");
+console.log(JSON.stringify(await getMetadata("mainnet"), null, 2))
```
-### Wallet Integration
-
-Integrate with Keplr wallet and handle transactions:
-
-```typescript
-import { keplr, wallet } from "@akashnetwork/akashjs";
-
-// Get chains configuration
-const chains = keplr.getChains();
-
-// Get signer for a chain
-const signer = keplr.getSigner(chains.mainnet);
-
-// Connect to a chain
-const client = await keplr.get(chains.mainnet, signer, endpoint);
-```
-
-### Stargate Client
-
-For more control over transactions, use the Stargate client integration:
-
-```typescript
-import { stargate as akashStargate } from "@akashnetwork/akashjs";
-import { Registry, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing";
-import { SigningStargateClient } from "@cosmjs/stargate";
-
-// Setup registry
-const myRegistry = new Registry([
- ...defaultRegistryTypes,
- ...akashStargate.registry,
-]);
-
-// Create client
-const client = await SigningStargateClient.connectWithSigner(
- `http://rpcUrl/`,
- offlineSigner,
- {
- registry: myRegistry,
- }
-);
-```
-
-### Transaction Example
-
-Here's an example of sending a deployment take-down message:
-
-```typescript
-const mnemonic = "your wallet mnemonic";
-const wallet = await DirectSecp256k1HdWallet.fromMnemonic(mnemonic, { prefix: "akash" });
-
-// Get first account
-const [account] = await wallet.getAccounts();
-
-// Create the message
-const message = MsgCloseDeployment.fromPartial({
- id: {
- dseq: "555555",
- owner: account.address,
- }
-});
-
-// Set the message type and value
-const msgAny = {
- typeUrl: getTypeUrl(MsgCloseDeployment),
- value: message
-};
-
-// Setup client with registry
-const myRegistry = new Registry(getAkashTypeRegistry());
-const client = await SigningStargateClient.connectWithSigner(
- rpcEndpoint,
- wallet,
- { registry: myRegistry }
-);
-
-// Define transaction fee
-const fee = {
- amount: [
- {
- denom: "uakt",
- amount: "5000",
- },
- ],
- gas: "800000",
-};
-
-// Sign and broadcast
-const result = await client.signAndBroadcast(
- account.address,
- [msgAny],
- fee,
- "take down deployment"
-);
-```
-
-## Examples
-
-Additional examples can be found in the [examples directory](examples)
+More elborate examples can be found in the [examples](examples) directory.
## Contributing
diff --git a/examples/get_state.ts b/examples/get_state.ts
new file mode 100644
index 0000000..7e7a4d1
--- /dev/null
+++ b/examples/get_state.ts
@@ -0,0 +1,13 @@
+import { getMetadata } from "@akashnetwork/akashjs/build/network";
+
+async function fetchMetadata() {
+ try {
+ console.log("Fetching metadata...");
+ const metadata = await getMetadata("mainnet");
+ console.log(JSON.stringify(metadata, null, 2));
+ } catch (error) {
+ console.error("Error fetching metadata:", error);
+ }
+}
+
+fetchMetadata();
\ No newline at end of file