\
- --header 'Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiYW1icm9pc2UiLCJlbWFpbCI6ImFtYnJvaXNlQHNldHRsZW1pbnQuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20v…' \
- --header 'Content-Type: application/json' \
- --data '{
-"payloadType": "string",
-"name": "mySubscription",
-"channel": "default-channel",
-"signer": "user3",
-"fromBlock": "0",
-"stream": "es-92183185-01e3-4bc9-5433-348a640f5fe1",
-"filter": {
-"blockType": "tx",
-"chaincodeId": "",
-"eventFilter": ""
-}
-}'
-
-```
diff --git a/docs/using-platform/17_private-keys.md b/docs/using-platform/12_private-keys.md
similarity index 100%
rename from docs/using-platform/17_private-keys.md
rename to docs/using-platform/12_private-keys.md
diff --git a/docs/using-platform/18_user_wallet.md b/docs/using-platform/13_user_wallet.md
similarity index 100%
rename from docs/using-platform/18_user_wallet.md
rename to docs/using-platform/13_user_wallet.md
diff --git a/docs/using-platform/24_custom-deployment.md b/docs/using-platform/14_custom-deployment.md
similarity index 98%
rename from docs/using-platform/24_custom-deployment.md
rename to docs/using-platform/14_custom-deployment.md
index d545fa58..93b49dbf 100644
--- a/docs/using-platform/24_custom-deployment.md
+++ b/docs/using-platform/14_custom-deployment.md
@@ -71,8 +71,7 @@ When using Custom Deployment, keep the following limitations in mind:
2. **Read-Only Filesystem**: The filesystem is read-only. For data persistence, consider using:
- - Hasura: A GraphQL engine that provides a scalable database solution. See [Backend-as-a-service
- documentation](../backend-as-a-service).
+ - Hasura: A GraphQL engine that provides a scalable database solution. See [Hasura](./9_hasura-backend-as-a-service.md).
- Other External Services: Depending on your specific needs, you may use other cloud-based storage or database services.
3. **Stateless Applications**: Your applications should be designed to be stateless. This ensures better scalability and reliability in a cloud environment.
diff --git a/docs/using-platform/15_dev-tools/0_code-studio/0_code-studio.md b/docs/using-platform/15_dev-tools/0_code-studio/0_code-studio.md
new file mode 100644
index 00000000..1078a991
--- /dev/null
+++ b/docs/using-platform/15_dev-tools/0_code-studio/0_code-studio.md
@@ -0,0 +1,19 @@
+---
+title: Code Studio
+description: Code Studio introduction
+sidebar_position: 0
+---
+
+# Code Studio
+
+## Introduction
+
+The Code Studio is a web-based Visual Studio Code IDE. It offers a comprehensive toolset for building decentralized applications (dApps), including pre-configured extensions and a seamless GitHub integration.
+
+With the built-in SettleMint SDK Command Line Interface (CLI), you can easily use platform services directly from within the Code Studio, making it easier to build your dApp.
+
+### Types of Code Studio
+
+Currently, we offer the following types of Code Studio:
+
+- [Smart contract sets](./1_smart-contract-sets/1_smart-contract-sets.md) - Smart contract sets Code Studio is a powerful tool that simplifies the development of your smart contracts. It includes pre-built smart contract set templates for your chosen use case, which are easily customizable to match your needs. The IDE also includes compilation and migration scripts that drastically simplify deployment to the relevant blockchain.
diff --git a/docs/using-platform/6_add_smart_contract_sets/0_smart_contracts.md b/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/1_smart-contract-sets.md
similarity index 69%
rename from docs/using-platform/6_add_smart_contract_sets/0_smart_contracts.md
rename to docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/1_smart-contract-sets.md
index 6d58525b..3d451480 100644
--- a/docs/using-platform/6_add_smart_contract_sets/0_smart_contracts.md
+++ b/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/1_smart-contract-sets.md
@@ -1,28 +1,43 @@
---
-title: Overview
-description: Overview
+title: Smart contract sets
+description: Smart contract sets
sidebar_position: 0
---
-# Deploying Smart Contracts
+# Smart contract sets
## Introduction
-To make developing smart contracts easier, we offer an open-source [template library](./1_smart_contract_templates.md) and an Integrated Development Environment (IDE). The template library includes pre-built smart contracts that you can customize to meet your specific needs.
+To make developing smart contracts easier, we offer an open-source [template library](2_smart-contract-templates.md) which includes pre-built smart contracts which you can customize to meet your specific needs.
-If you need a fundamental explanation of what smart contracts are and how they work, we recommend contacting our team to join our Learn World Blockchain course. Our experts will guide you through the basics, ensuring you have a solid foundation before diving into development. For a practical guide, please visit [deploying a contract](./3_deploying_a_contract.md).
+If you need a fundamental explanation of what smart contracts are and how they work, we recommend contacting our team to join our Learn World Blockchain course. Our experts will guide you through the basics, ensuring you have a solid foundation before diving into development. For a practical guide, please visit [deploying a contract](4_deploying-a-contract.md).
SettleMint's smart contract sets include both Hardhat and Foundry, enabling you to compile, test, and deploy using your preferred framework or a combination of both. This flexibility allows you to optimize your development process to best suit your project needs and preferences.
+The programming languages for smart contracts differ depending on the protocol. For blockchain networks that are EVM (Ethereum Virtual Machine) compatible, and are listed below, the programming language used is Solidity.
+
+- [Hyperledger Besu Smart contract set](../../../../blockchain-guides/1_Hyperledger-Besu/6_enterprise-ethereum-integration-tools.md)
+- [Ethereum Smart contract set](../../../../blockchain-guides/0_Ethereum/5_ethereum-integration-tools.md)
+- [Avalanche Smart contract set](../../../../blockchain-guides/2_Avalanche/5_avalanche-integration-tools.md)
+- [Polygon Smart contract set](../../../../blockchain-guides/4_Polygon/5_polygon-integration-tools.md)
+
+For Hyperledger Fabric, the programming language used is TypeScript and Go.
+
+- [Hyperledger Fabric Smart contract set](../../../../blockchain-guides/5_Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md)
+
## Overview of the Smart Contract Deployment Process on SettleMint
The following is a high-level overview of smart contract development processes at SettleMint.
-### 1. Deploying a Smart Contract Set
+### 1. Adding a Smart Contract Set
-- **Add Smart Contract Set**: Navigate to the smart contract sets page and press the button "Add Smart Contract Set."
+- **Add dev tool**: Navigate to the application you want to create the smart contract set in, then to the dev tools page and press the button "Add dev tool".
+- **Code studio**: Select the "Code studio" option as the type of dev tool.
+- **Smart contract set**: Select the "Smart contract set" option as the type of Code studio.
- **Picking Your Template**: Pick the template of your choice.
+For detailed instructions, please see [add a smart contract set](3_add-smart-contract-set.md).
+
### 2. Compiling and Configuring The Smart Contract
- **Compiling**: Convert your smart contract code into a format that the blockchain can understand and execute.
diff --git a/docs/using-platform/6_add_smart_contract_sets/1_smart_contract_templates.md b/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/2_smart-contract-templates.md
similarity index 87%
rename from docs/using-platform/6_add_smart_contract_sets/1_smart_contract_templates.md
rename to docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/2_smart-contract-templates.md
index 15c181aa..d7054396 100644
--- a/docs/using-platform/6_add_smart_contract_sets/1_smart_contract_templates.md
+++ b/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/2_smart-contract-templates.md
@@ -1,20 +1,17 @@
---
title: Templates
-description: Rapid Deployment with Smart Contract Templates
+description: Rapid deployment with smart contract templates
sidebar_position: 1
---
SettleMint's smart contract templates serve as open-source, ready-to-use foundations for blockchain application development, significantly accelerating the deployment process. These templates enable users to quickly customize and extend their blockchain applications, leveraging tested and community-enhanced frameworks to reduce development time and accelerate market entry.
-
-
-
-
### Open-Source Smart Contract Templates under the MIT License
+
Benefit from the expertise of the blockchain community and trust in the reliability of your smart contracts. These templates are vetted and used by major enterprises and institutions, ensuring enhanced security and confidence in your deployments.
### Create Your Own Smart Contract Templates for Your Consortium
+
Within the self-managed Blockchain Transformation Platform (BTP), you can create and add your own templates for use within your consortium. This fosters a collaborative environment where templates can be reused and built upon, promoting innovation and efficiency within your network.
To get started, visit: [SettleMint GitHub Repository](https://github.com/settlemint/solidity-empty)
-
diff --git a/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/3_add-smart-contract-set.md b/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/3_add-smart-contract-set.md
new file mode 100644
index 00000000..1b11e1ae
--- /dev/null
+++ b/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/3_add-smart-contract-set.md
@@ -0,0 +1,56 @@
+---
+title: Add a Smart contract set
+description: Add a Smart contract set
+sidebar_position: 1
+---
+
+# Add a Smart contract set
+
+By using smart contracts, you can add **business logic** to your application.
+
+Smart contracts are programs that run on the blockchain and define the rules of your use case. They are self-executing with an 'if this, then that' pattern and activate when predefined conditions are met, such as a smart contract that transfers the ownership of a car once a certain amount of money is transferred to the seller's account.
+
+## How to Add a Smart contract set
+
+Navigate to the **application** where you want to add the Smart contract set.
+
+Follow these steps to add the Smart contract set:
+
+1. Navigate to **Dev tools** and click on **Add a Dev tool**.
+
+ 
+
+2. Select **Code Studio** as the Dev tool type.
+
+ 
+
+3. Choose **Smart Contract Set** as the Dev tool type.
+
+ 
+
+4. Choose a **template**. The Code studio will contain the smart contracts for your selected template.
+
+ 
+
+5. Click **Continue** to enter the name, user and deployment plan for your Smart contract set.
+
+ 
+
+6. Enter a **Dev tool name** that will be easily recognizable in your dashboards, then choose the **Dev tool user**. The chosen user will be the only one with access to this Dev tool.
+
+ 
+
+7. Choose a **Deployment Plan**. Select the type, cloud provider, region, and resource pack. [More about deployment plans](/docs/launch-platform/managed-cloud-deployment/13_deployment-plans.md).
+8. Review the resource cost for this smart contract set displayed at the bottom of the form. Click **Confirm** to add the Smart contract set.
+
+ 
+
+You are now ready to use the Smart contract set, configure it to your needs and deploy smart contracts!
+
+For protocol-specific information, please refer to the relevant section in our blockchain guides:
+
+- [Hyperledger Besu Smart Contracts IDE](/docs/blockchain-guides/1_Hyperledger-Besu/6_enterprise-ethereum-integration-tools.md)
+- [Ethereum Smart Contracts IDE](/docs/blockchain-guides/0_Ethereum/5_ethereum-integration-tools.md)
+- [Avalanche Smart Contracts IDE](/docs/blockchain-guides/2_Avalanche/5_avalanche-integration-tools.md)
+- [Polygon Smart Contracts IDE](/docs/blockchain-guides/4_Polygon/5_polygon-integration-tools.md)
+- [Hyperledger Fabric Smart Contracts IDE](/docs/blockchain-guides/5_Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md)
diff --git a/docs/using-platform/6_add_smart_contract_sets/3_deploying_a_contract.md b/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/4_deploying-a-contract.md
similarity index 77%
rename from docs/using-platform/6_add_smart_contract_sets/3_deploying_a_contract.md
rename to docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/4_deploying-a-contract.md
index 493fb9a6..9f7757fb 100644
--- a/docs/using-platform/6_add_smart_contract_sets/3_deploying_a_contract.md
+++ b/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/4_deploying-a-contract.md
@@ -1,10 +1,10 @@
---
-title: Deploying a Smart Contract
-description: Deploying a Smart Contract
+title: Deploying a smart contract
+description: Deploying a smart contract
sidebar_position: 3
---
-# Deploying a Smart Contract
+# Deploying a smart contract
Deploying a smart contract in SettleMint won't be much different from doing so in your own environment.
@@ -28,16 +28,16 @@ The typical folder structure of SettleMint's smart contract set will include:
Follow these steps to deploy a contract using the Task Manager:
1. Click `View in Fullscreen Mode` for a better user experience :)
- 
+ 
2. Navigate to the `Task Manager`.
- 
+ 
3. Click `Foundry - Build` or `Hardhat - Build` to compile the Smart Contract.
- 
+ 
4. Then run `Hardhat - Deploy to local network` to deploy locally or `Hardhat - Deploy to platform network` to deploy to your connected network.
- 
+ 
Great job! Your contract has been successfully deployed.
@@ -46,12 +46,12 @@ Great job! Your contract has been successfully deployed.
Follow these steps to deploy a contract using the terminal:
1. Open the terminal.
- 
+ 
2. Run the command `forge build` or `Hardhat compile` to compile the smart contracts.
- 
+ 
3. Then run `npx hardhat ignition deploy IGNITION_MODULE_PATH` or forge create --rpc-url YOUR_RPC_URL --private-key YOUR_PRIVATE_KEY --constructor-args ARG1 ARG2` to deploy to your connected network.
- 
+ 
Well done! You've successfully deployed your contract.
diff --git a/docs/using-platform/15_dev-tools/15_dev-tools.md b/docs/using-platform/15_dev-tools/15_dev-tools.md
new file mode 100644
index 00000000..e0fa41c9
--- /dev/null
+++ b/docs/using-platform/15_dev-tools/15_dev-tools.md
@@ -0,0 +1,19 @@
+---
+title: Dev Tools
+description: Dev tools introduction
+sidebar_position: 0
+---
+
+# Dev Tools
+
+## Introduction
+
+To make development easier, we offer Development tools. These tools are designed to help you build your decentralized application (dApp) faster, whether it is smart contract, frontend or backend development.
+
+We offer the following tools:
+
+### Code studio
+
+The Code studio is an Integrated Development Environment (IDE). Currently, we offer the following types of Code studio:
+
+- [Smart contract sets](./0_code-studio/1_smart-contract-sets/1_smart-contract-sets.md) - This is an IDE you can launch with a pre-built smart contract template. You can choose a template from our open-source [template library](./0_code-studio/1_smart-contract-sets/2_smart-contract-templates.md).
diff --git a/docs/using-platform/15_dev-tools/_category_.json b/docs/using-platform/15_dev-tools/_category_.json
new file mode 100644
index 00000000..c07ecd9f
--- /dev/null
+++ b/docs/using-platform/15_dev-tools/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Dev Tools",
+ "position": 15
+}
diff --git a/docs/using-platform/20_application-access-tokens.md b/docs/using-platform/16_application-access-tokens.md
similarity index 100%
rename from docs/using-platform/20_application-access-tokens.md
rename to docs/using-platform/16_application-access-tokens.md
diff --git a/docs/using-platform/21_personal-access-tokens.md b/docs/using-platform/17_personal-access-tokens.md
similarity index 97%
rename from docs/using-platform/21_personal-access-tokens.md
rename to docs/using-platform/17_personal-access-tokens.md
index 726e51dc..8e9c353b 100644
--- a/docs/using-platform/21_personal-access-tokens.md
+++ b/docs/using-platform/17_personal-access-tokens.md
@@ -1,6 +1,6 @@
# Personal access tokens
-Personal access tokens (or [Application access tokens](20_application-access-tokens.md)) let you connect your SettleMint services with other apps securely. They represent an individual user, and have the same rights as the user's role in the organization (admin or user). They can be used to connect to all services that the user has access to.
+Personal access tokens (or [Application access tokens](16_application-access-tokens.md)) let you connect your SettleMint services with other apps securely. They represent an individual user, and have the same rights as the user's role in the organization (admin or user). They can be used to connect to all services that the user has access to.
## Create a personal access token
diff --git a/docs/using-platform/23_audit_logs.md b/docs/using-platform/18_audit_logs.md
similarity index 100%
rename from docs/using-platform/23_audit_logs.md
rename to docs/using-platform/18_audit_logs.md
diff --git a/docs/using-platform/15_resource-usage.md b/docs/using-platform/19_resource-usage.md
similarity index 93%
rename from docs/using-platform/15_resource-usage.md
rename to docs/using-platform/19_resource-usage.md
index 04cec237..2f373a87 100644
--- a/docs/using-platform/15_resource-usage.md
+++ b/docs/using-platform/19_resource-usage.md
@@ -1,7 +1,6 @@
---
-title: Monitoring Resource Usage
-description: Guide to adding a Blockchain Node to a Network
-sidebar_position: 15
+title: Resource Usage
+description: Guide to monitoring resource usage
---
# Resource usage
diff --git a/docs/using-platform/1_add-a-network-to-an-application.md b/docs/using-platform/1_add-a-network-to-an-application.md
index df1f51f9..34d15a7c 100644
--- a/docs/using-platform/1_add-a-network-to-an-application.md
+++ b/docs/using-platform/1_add-a-network-to-an-application.md
@@ -35,7 +35,7 @@ Joining a permissioned network:
Joining a network with an invitation code:
-- [How to join an existing network in SettleMint with an invitation code](./4_join-a-network-by-invitation.md). For more information on inviting network participants, see [how to invite network participants](./3_invite-network-participants.md).
+- [How to join an existing network in SettleMint with an invitation code](./3_join-a-network-by-invitation.md). For more information on inviting network participants, see [how to invite network participants](./2_invite-network-participants.md).
## How to add a blockchain network
@@ -54,7 +54,7 @@ Follow these steps to set up the blockchain network:
:::info
-Note that your network requires at least 1 validating node to be operational. We will deploy 1 validating node to your network initially. You can [add more nodes](2_add-a-node-to-a-network.md) later.
+Note that your network requires at least 1 validating node to be operational. We will deploy 1 validating node to your network initially. You can [add more nodes](4_add-a-node-to-a-network.md) later.
:::
@@ -66,7 +66,7 @@ The network is now added to the **blockchain network overview** with the status
Navigate to the **Blockchain nodes** section of the application to see the **first node** that was deployed with the network. Click this node in the overview list to see detailed information, such as stats, usage metrics, connection info, logs, etc. Available node information varies depending on the protocol.
-You can now start [adding more nodes](2_add-a-node-to-a-network.md).
+You can now start [adding more nodes](4_add-a-node-to-a-network.md).
## Manage a network
@@ -82,6 +82,6 @@ Click **Manage network** to see the available actions. You can only perform thes
:::warning Warning
-You can only delete a blockchain network when it has no more associated resources (e.g., nodes, smart contract sets, etc.). Resources must be deleted one by one first.
+You can only delete a blockchain network when it has no more associated resources (e.g., nodes, middlewares, etc.). Resources must be deleted one by one first.
:::
diff --git a/docs/using-platform/16_health-monitoring-tools.md b/docs/using-platform/20_health-monitoring-tools.md
similarity index 97%
rename from docs/using-platform/16_health-monitoring-tools.md
rename to docs/using-platform/20_health-monitoring-tools.md
index 1e5a1896..93f16e33 100644
--- a/docs/using-platform/16_health-monitoring-tools.md
+++ b/docs/using-platform/20_health-monitoring-tools.md
@@ -10,7 +10,7 @@ Go to the **service's overview page** or a **service detail page** to view the s
## Resource usage status & metrics
-You can view the resources (memory, vCPU, and disk space) allocated to your services at any time, and follow up on the current usage. When the current resource usage is about to reach its limit, you will see a warning with the recommendation to scale your resource pack to keep the service running. [More info on resource usage](15_resource-usage.md)
+You can view the resources (memory, vCPU, and disk space) allocated to your services at any time, and follow up on the current usage. When the current resource usage is about to reach its limit, you will see a warning with the recommendation to scale your resource pack to keep the service running. [More info on resource usage](19_resource-usage.md)
Go to the **Resource tab** of a **service detail page** to view the resource usage status and metrics.
diff --git a/docs/using-platform/22_deployment-plans.md b/docs/using-platform/21_deployment-plans.md
similarity index 99%
rename from docs/using-platform/22_deployment-plans.md
rename to docs/using-platform/21_deployment-plans.md
index f26df423..7bca7c51 100644
--- a/docs/using-platform/22_deployment-plans.md
+++ b/docs/using-platform/21_deployment-plans.md
@@ -1,7 +1,6 @@
---
title: Deployment Plans
description: A list of the available Deployment Plans for SettleMint
-sidebar_position: 2
---
# Deployment plans
diff --git a/docs/using-platform/3_invite-network-participants.md b/docs/using-platform/2_invite-network-participants.md
similarity index 100%
rename from docs/using-platform/3_invite-network-participants.md
rename to docs/using-platform/2_invite-network-participants.md
diff --git a/docs/using-platform/4_join-a-network-by-invitation.md b/docs/using-platform/3_join-a-network-by-invitation.md
similarity index 93%
rename from docs/using-platform/4_join-a-network-by-invitation.md
rename to docs/using-platform/3_join-a-network-by-invitation.md
index 851294db..12874eb8 100644
--- a/docs/using-platform/4_join-a-network-by-invitation.md
+++ b/docs/using-platform/3_join-a-network-by-invitation.md
@@ -11,4 +11,4 @@ Follow these steps if you received an invitation to join a blockchain network:
5. Choose **Join by invitation code**, and then click **Continue**.
6. Enter the **invitation code** included in the email you received, and click **Confirm**. The network now appears in the overview. Click to see more details of the network.
-You can now start [adding nodes to the network](2_add-a-node-to-a-network.md).
+You can now start [adding nodes to the network](4_add-a-node-to-a-network.md).
diff --git a/docs/using-platform/2_add-a-node-to-a-network.md b/docs/using-platform/4_add-a-node-to-a-network.md
similarity index 96%
rename from docs/using-platform/2_add-a-node-to-a-network.md
rename to docs/using-platform/4_add-a-node-to-a-network.md
index 52c16672..8ab4cbac 100644
--- a/docs/using-platform/2_add-a-node-to-a-network.md
+++ b/docs/using-platform/4_add-a-node-to-a-network.md
@@ -1,7 +1,6 @@
---
title: Add a Blockchain Node
description: Guide to adding a Blockchain Node to a Network
-sidebar_position: 3
---
# Add a node to a network
@@ -57,6 +56,6 @@ Nodes do not autoscale. However, you can scale your deployment if you notice tha
:::warning Warning
-You can only delete a blockchain node when it has no more resources (e.g. smart contract sets) related to it. Resources first have to be deleted one by one.
+You can only delete a blockchain node when it has no more resources (e.g. middleware) related to it. Resources first have to be deleted one by one.
:::
diff --git a/docs/using-platform/3_add-a-load-balancer.md b/docs/using-platform/6_add-a-load-balancer.md
similarity index 99%
rename from docs/using-platform/3_add-a-load-balancer.md
rename to docs/using-platform/6_add-a-load-balancer.md
index f360e5e6..92a80d56 100644
--- a/docs/using-platform/3_add-a-load-balancer.md
+++ b/docs/using-platform/6_add-a-load-balancer.md
@@ -1,7 +1,6 @@
---
title: Add a Load Balancer
description: Guide to adding a Load Balancer to a Blockchain Network
-sidebar_position: 4
---
# Add a Load Balancer
diff --git a/docs/using-platform/6_add_smart_contract_sets/2_create_smart_contract_set.md b/docs/using-platform/6_add_smart_contract_sets/2_create_smart_contract_set.md
deleted file mode 100644
index 4c5f9c91..00000000
--- a/docs/using-platform/6_add_smart_contract_sets/2_create_smart_contract_set.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-title: Add a Smart Contract Set
-description: Add a Smart Contract Set
-sidebar_position: 1
----
-
-# Add a Smart Contract Set
-
-By using smart contract sets, you can add **business logic** to your application.
-
-Smart contract sets are programs that run on the blockchain and define the rules of your use case. They are self-executing with an 'if this, then that' pattern and activate when predefined conditions are met, such as a smart contract that transfers the ownership of a car once a certain amount of money is transferred to the seller's account.
-
-To expedite the process of writing and deploying smart contracts, we offer a [template library](./1_smart_contract_templates.md) and an Integrated Development Environment (IDE). The template library includes pre-built smart contract sets for specific use cases, which are easily customizable to match your needs.
-
-## How to Add a Smart Contract Set
-
-Navigate to the **application** where you want to add the smart contract set. Ensure you have a network with a node in place.
-
-Click **Smart Contract Sets** in the left navigation, and then click **Add a Smart Contract Set**. This opens a form.
-
-Follow these steps to add the smart contract set:
-
-1. Navigate to **Smart Contract Sets** and press **Add a Smart Contract Set**.
- 
-2. Select which of your **blockchain nodes** the smart contract set needs to be deployed to, and click **Continue**.
- 
-3. Choose a **template**. The IDE instance will contain a set of pre-built smart contract templates for your selected use case.
- 
-4. Choose a **Smart Contract Set Name** that will be easily recognizable in your dashboards, then select the **IDE User**.
- The IDE that comes with the smart contract set is a single-user application. This user can be you or another member of your organization.
- 
-5. Choose a **Deployment Plan**. Select the type, cloud provider, region, and resource pack. [More about deployment plans](/docs/launch-platform/managed-cloud-deployment/13_deployment-plans.md).
- 
-6. Review the resource cost for this smart contract set displayed at the bottom of the form. Click **Confirm** to add the smart contract set.
-
-You are now ready to use the IDE to configure the smart contract set to your needs and deploy it. You will see your deployed smart contracts in the **Details tab**.
-
-For protocol-specific information, please refer to the relevant section in our blockchain guides:
-
-- [Hyperledger Besu Smart Contracts IDE](/docs/blockchain-guides/1_Hyperledger-Besu/6_enterprise-ethereum-integration-tools.md)
-- [Ethereum Smart Contracts IDE](/docs/blockchain-guides/0_Ethereum/5_ethereum-integration-tools.md)
-- [Avalanche Smart Contracts IDE](/docs/blockchain-guides/2_Avalanche/5_avalanche-integration-tools.md)
-- [Polygon Smart Contracts IDE](/docs/blockchain-guides/4_Polygon/5_polygon-integration-tools.md)
-- [Hyperledger Fabric Smart Contracts IDE](/docs/blockchain-guides/5_Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md)
diff --git a/docs/using-platform/6_add_smart_contract_sets/_category_.json b/docs/using-platform/6_add_smart_contract_sets/_category_.json
deleted file mode 100644
index e81b8ef7..00000000
--- a/docs/using-platform/6_add_smart_contract_sets/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Smart Contract Sets",
- "position": 3
-}
diff --git a/docs/using-platform/7_integrated-development-environment.md b/docs/using-platform/7_integrated-development-environment.md
deleted file mode 100644
index ad1f9f1f..00000000
--- a/docs/using-platform/7_integrated-development-environment.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Integrated Development Environment
-
-The SettleMint Integrated Development Environment (IDE) is a powerful tool that simplifies the development of your smart contracts. It includes pre-built smart contract set templates for a certain use case, which are easily customizable to match your specific use case. The IDE also includes compilation and migration scripts that drastically simplify deployment to the relevant blockchain.
-
-When you [add a smart contract set](./6_add_smart_contract_sets/0_smart_contracts.md), you get an instance of the IDE that is configured to the blockchain and smart contract set templates of your choice. Go to the **IDE tab** on the **Smart contract sets details page** to access it.
-
-The IDE programming languages for smart contracts differ depending on the protocol. For blockchain networks that are EVM (Ethereum Virtual Machine) compatible, and are listed below, the programming language used is Solidity.
-
-- [Hyperledger Besu smart contracts IDE](../blockchain-guides/1_Hyperledger-Besu/6_enterprise-ethereum-integration-tools.md)
-- [Ethereum smart contracts IDE](../blockchain-guides/0_Ethereum/5_ethereum-integration-tools.md)
-- [Avalanche smart contracts IDE](../blockchain-guides/2_Avalanche/5_avalanche-integration-tools.md)
-- [Polygon smart contracts IDE](../blockchain-guides/4_Polygon/5_polygon-integration-tools.md)
-- [Hyperledger Fabric smart contracts IDE](../blockchain-guides/5_Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md)
diff --git a/docs/using-platform/11_middleware.md b/docs/using-platform/7_middleware.md
similarity index 77%
rename from docs/using-platform/11_middleware.md
rename to docs/using-platform/7_middleware.md
index 3cadf6ee..cff5cc91 100644
--- a/docs/using-platform/11_middleware.md
+++ b/docs/using-platform/7_middleware.md
@@ -275,3 +275,139 @@ When setting up a new middleware, you'll need to adjust the Attestation Indexer
The Attestation Indexer's GraphQL API provides the capability to execute intricate queries on attestations. It allows for filtering based on attributes such as type, issuer, and subject, enabling the retrieval of specific attestations or sets of attestations that satisfy particular conditions.

+
+## Firefly FabConnect
+
+Firefly FabConnect is an open-source middleware that lets you interact with your Fabric network and the chaincode deployed on it. When you add the FabConnect middleware to your application on the SettleMint Platform, you automatically deploy a RESTful API to:
+
+- Manage identities on your network.
+- Send transactions to your chaincode.
+- Check any transaction receipt.
+- Create event streams and subscriptions.
+
+:::warning Warning
+
+Before you start, make sure you are running:
+
+- A Fabric Network.
+- A Fabric smart contract set.
+
+:::
+
+## Manage Identities
+
+Identities on a Fabric network are managed in two steps. First, a CA admin must register users. This is a process in which the CA admin gives an ID and secret to an identity. Then, the user of the identity enrolls the ID and secret pair to get a public/private key pair to sign transactions.
+
+Registering an identity can be done as follows using Firefly FabConnect:
+
+```shell
+curl --request POST \
+ --url https://fireflyfab-7853.gke-europe.settlemint.com/identities \
+ --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiYW1icm9pc2UiLCJlbWFpbCI6ImFtYnJvaXNlQHNldHRsZW1pbnQuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20v…' \
+ --header 'Content-Type: application/json' \
+ --data '{
+ "type": "client",
+ "name": "user3",
+ "attributes": {}
+}'
+```
+
+This request returns the secret associated with name user3:
+
+```shell
+
+{
+"name": "user3",
+"secret": "fkrTKPOZZYWO"
+}
+
+```
+
+The end user of that identity can enroll it as follows:
+
+```shell
+
+curl --request POST \
+ --url \
+ --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiYW1icm9pc2UiLCJlbWFpbCI6ImFtYnJvaXNlQHNldHRsZW1pbnQuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20v…' \
+ --header 'Content-Type: application/json' \
+ --data '{
+"secret": "fkrTKPOZZYWO"
+"attributes": {}
+}'
+
+```
+
+## Sending Transactions
+
+Assuming that you have a [chaincode deployed](../blockchain-guides/5_Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md) on your network, you can send a transaction through the middleware:
+
+```shell
+
+curl --request POST \
+ --url \
+ --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiYW1icm9pc2UiLCJlbWFpbCI6ImFtYnJvaXNlQHNldHRsZW1pbnQuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20v…' \
+ --header 'Content-Type: application/json' --data '{
+"headers": {
+"type": "SendTransaction",
+"signer": "user3",
+"channel": "default-channel",
+"chaincode": "assetTransfer"
+},
+"func": "CreateAsset",
+"args": [
+"asset01", "blue", "5", "Alice", "500"
+],
+"init": false, "fly-sync": true
+}'
+
+```
+
+This transaction creates an asset in the assetTransfer chaincode deployed on the Fabric network.
+
+## Create Event Streams
+
+Firefly FabConnect can also be used to stream events happening on your network. You can either use webhook or websocket to deliver the data.
+
+This request create a stream using webhooks:
+
+```shell
+
+curl --request POST \
+ --url \
+ --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiYW1icm9pc2UiLCJlbWFpbCI6ImFtYnJvaXNlQHNldHRsZW1pbnQuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20v…' \
+ --header 'Content-Type: application/json' \
+ --data '{
+"type": "webhook",
+"name": "AssetTransfer",
+"webhook": {
+"url": "",
+"tlsSkipVerifyHost": "true"
+}
+}'
+
+```
+
+The response contains an event stream ID that is required to create a subscription:
+
+```shell
+
+curl --request POST \
+ --url \
+ --header 'Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiYW1icm9pc2UiLCJlbWFpbCI6ImFtYnJvaXNlQHNldHRsZW1pbnQuY29tIiwicGljdHVyZSI6Imh0dHBzOi8vcy5ncmF2YXRhci5jb20v…' \
+ --header 'Content-Type: application/json' \
+ --data '{
+"payloadType": "string",
+"name": "mySubscription",
+"channel": "default-channel",
+"signer": "user3",
+"fromBlock": "0",
+"stream": "es-92183185-01e3-4bc9-5433-348a640f5fe1",
+"filter": {
+"blockType": "tx",
+"chaincodeId": "",
+"eventFilter": ""
+}
+}'
+
+```
diff --git a/docs/using-platform/9_integration-studio.md b/docs/using-platform/8_integration-studio.md
similarity index 98%
rename from docs/using-platform/9_integration-studio.md
rename to docs/using-platform/8_integration-studio.md
index 3db74de1..fa972a74 100644
--- a/docs/using-platform/9_integration-studio.md
+++ b/docs/using-platform/8_integration-studio.md
@@ -45,7 +45,7 @@ Double-click any of the nodes to see the code they are running. This code is wri
Before we show you how to set up your own flow, we recommend reading this [article by Node-RED on creating your first flow](https://nodered.org/docs/tutorials/first-flow).
-Now let's set up an example flow together and build an endpoint to get the latest block number of the Polygon Mumbai Testnet using the Integration Studio. If you do not have a Polygon Mumbai Node, you can easily [deploy a node](2_add-a-node-to-a-network.md) first.
+Now let's set up an example flow together and build an endpoint to get the latest block number of the Polygon Mumbai Testnet using the Integration Studio. If you do not have a Polygon Mumbai Node, you can easily [deploy a node](4_add-a-node-to-a-network.md) first.
#### Step 1
@@ -61,7 +61,7 @@ Drag and drop a **function node**. This is the node that will query the blockcha
`rpcEndpoint` is the RPC url of your Polygon Mumbai Node.
Under the **Connect tab** of your Polygon Mumbai node, you will find its RPC url.
-`accessToken` - You will need an access token for your application. If you do not have one, you can easily [create an access token](20_application-access-tokens.md) first.
+`accessToken` - You will need an access token for your application. If you do not have one, you can easily [create an access token](16_application-access-tokens.md) first.
Enter the following snippet in the Message tab.
diff --git a/docs/using-platform/10_backend-as-a-service.md b/docs/using-platform/9_hasura-backend-as-a-service.md
similarity index 97%
rename from docs/using-platform/10_backend-as-a-service.md
rename to docs/using-platform/9_hasura-backend-as-a-service.md
index 811d39b6..b67022cd 100644
--- a/docs/using-platform/10_backend-as-a-service.md
+++ b/docs/using-platform/9_hasura-backend-as-a-service.md
@@ -1,4 +1,4 @@
-# Backend-as-a-service
+# Hasura - Backend-as-a-service
Many dApps need more than just decentralised tools to build an end-to-end solution. Maybe you need to save KYC information, or store metadata related to NFT's or other smart contracts you do not want to put on IPFS. This is where the backend-as-a-service solution comes in, based on [Hasura](https://hasura.io/docs/latest/graphql/core/index.html).
@@ -37,7 +37,7 @@ If you need to execute tasks based on changes to your database you can leverage
**Access to your database** can be handled all the way to the row level by using the authentication and authorisation options available in Hasura.
[Learn more here.](https://hasura.io/docs/latest/graphql/core/auth/index.html)
-This is of course on top of the [application access tokens](20_application-access-tokens.md) and [personal access tokens](21_personal-access-tokens.md) in the platform you can use to close off access to the entire API.
+This is of course on top of the [application access tokens](16_application-access-tokens.md) and [personal access tokens](17_personal-access-tokens.md) in the platform you can use to close off access to the entire API.
## Backups
diff --git a/docs/using-platform/_category_.json b/docs/using-platform/_category_.json
index bc51cfb9..7a059946 100644
--- a/docs/using-platform/_category_.json
+++ b/docs/using-platform/_category_.json
@@ -1,4 +1,4 @@
{
- "label": "Building With SettleMint",
+ "label": "Building with SettleMint",
"position": 3
}
diff --git a/releases/2025-01-08-dev-tools.md b/releases/2025-01-08-dev-tools.md
new file mode 100644
index 00000000..bf89c157
--- /dev/null
+++ b/releases/2025-01-08-dev-tools.md
@@ -0,0 +1,25 @@
+# Introducing Dev Tools
+
+
+
+We've made some exciting changes to improve your development experience:
+
+**What's New**
+
+- We've introduced a new **Dev Tools** section that will host various services aimed at making the development of decentralized applications easier
+- The first tool we're launching is **Code Studio** - our Integrated Development Environment (IDE) based on Visual Studio Code
+- Smart contract sets are now available as the first type of Code Studio
+- For more information on Dev Tools, please refer to the [Dev Tools documentation](/docs/using-platform/dev-tools/)
+
+**What's Changed**
+
+- The "Smart contract sets" service has moved into Dev Tools
+- Don't worry - all the same great features of Smart contract sets are still there, just in a new home!
+
+**Coming Soon**
+
+Stay tuned for more types of Code Studios that will make building decentralized applications even easier!
+
+---
+
+**Note**: All existing Smart contract sets functionality remains unchanged - we've just reorganized things to make room for more developer tools.
diff --git a/src/css/custom.css b/src/css/custom.css
index 9a1e0c77..f08ead12 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -72,7 +72,6 @@ nav.navbar {
}
[data-theme='dark'] button {
- background-color: #346eee;
color: #ffff;
}
diff --git a/static/img/releases/dev-tools.png b/static/img/releases/dev-tools.png
new file mode 100644
index 00000000..707b09cc
Binary files /dev/null and b/static/img/releases/dev-tools.png differ
diff --git a/static/img/smart-contract-sets/add-set.png b/static/img/smart-contract-sets/add-set.png
deleted file mode 100644
index 06f2f73b..00000000
Binary files a/static/img/smart-contract-sets/add-set.png and /dev/null differ
diff --git a/static/img/smart-contract-sets/all-templates.png b/static/img/smart-contract-sets/all-templates.png
deleted file mode 100644
index 0d161d27..00000000
Binary files a/static/img/smart-contract-sets/all-templates.png and /dev/null differ
diff --git a/static/img/smart-contract-sets/click-continue.png b/static/img/smart-contract-sets/click-continue.png
new file mode 100644
index 00000000..e0e7e353
Binary files /dev/null and b/static/img/smart-contract-sets/click-continue.png differ
diff --git a/static/img/smart-contract-sets/cloud-provider.png b/static/img/smart-contract-sets/cloud-provider.png
deleted file mode 100644
index cc5eb066..00000000
Binary files a/static/img/smart-contract-sets/cloud-provider.png and /dev/null differ
diff --git a/static/img/smart-contract-sets/confirm.png b/static/img/smart-contract-sets/confirm.png
new file mode 100644
index 00000000..8f6d364a
Binary files /dev/null and b/static/img/smart-contract-sets/confirm.png differ
diff --git a/static/img/smart-contract-sets/empty-dev-tools.png b/static/img/smart-contract-sets/empty-dev-tools.png
new file mode 100644
index 00000000..6169f01d
Binary files /dev/null and b/static/img/smart-contract-sets/empty-dev-tools.png differ
diff --git a/static/img/smart-contract-sets/enter-name-user.png b/static/img/smart-contract-sets/enter-name-user.png
new file mode 100644
index 00000000..bb8a15ee
Binary files /dev/null and b/static/img/smart-contract-sets/enter-name-user.png differ
diff --git a/static/img/smart-contract-sets/select-a-template.png b/static/img/smart-contract-sets/select-a-template.png
deleted file mode 100644
index 85bec680..00000000
Binary files a/static/img/smart-contract-sets/select-a-template.png and /dev/null differ
diff --git a/static/img/smart-contract-sets/select-code-studio.png b/static/img/smart-contract-sets/select-code-studio.png
new file mode 100644
index 00000000..0a0d2f40
Binary files /dev/null and b/static/img/smart-contract-sets/select-code-studio.png differ
diff --git a/static/img/smart-contract-sets/select-node.png b/static/img/smart-contract-sets/select-node.png
deleted file mode 100644
index b21a2ea6..00000000
Binary files a/static/img/smart-contract-sets/select-node.png and /dev/null differ
diff --git a/static/img/smart-contract-sets/select-smart-contract-set.png b/static/img/smart-contract-sets/select-smart-contract-set.png
new file mode 100644
index 00000000..c2ff3e62
Binary files /dev/null and b/static/img/smart-contract-sets/select-smart-contract-set.png differ
diff --git a/static/img/smart-contract-sets/select-template.png b/static/img/smart-contract-sets/select-template.png
new file mode 100644
index 00000000..4159bf0d
Binary files /dev/null and b/static/img/smart-contract-sets/select-template.png differ
diff --git a/static/img/smart-contract-sets/set-name.png b/static/img/smart-contract-sets/set-name.png
deleted file mode 100644
index d2fbff21..00000000
Binary files a/static/img/smart-contract-sets/set-name.png and /dev/null differ