import cobo_waas2
from cobo_waas2.models.create_mpc_project_request import CreateMpcProjectRequest
from cobo_waas2.models.mpc_project import MPCProject
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.WalletsMPCWalletsApi(api_client)
create_mpc_project_request = cobo_waas2.CreateMpcProjectRequest(
name="Project name", participants=3, threshold=2
)
try:
# Create project
api_response = api_instance.create_mpc_project(
create_mpc_project_request=create_mpc_project_request
)
print("The response of WalletsMPCWalletsApi->create_mpc_project:\n")
pprint(api_response)
except Exception as e:
print(
"Exception when calling WalletsMPCWalletsApi->create_mpc_project: %s\n" % e
)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.WalletsMpcWalletsApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
WalletsMpcWalletsApi apiInstance = new WalletsMpcWalletsApi();
CreateMpcProjectRequest createMpcProjectRequest =
new CreateMpcProjectRequest().name("Project name").participants(3).threshold(2);
try {
MPCProject result = apiInstance.createMpcProject(createMpcProjectRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling WalletsMpcWalletsApi#createMpcProject");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
createMpcProjectRequest := *coboWaas2.NewCreateMpcProjectRequest("Project name", int32(3), int32(2))
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.WalletsMPCWalletsAPI.CreateMpcProject(ctx).
CreateMpcProjectRequest(createMpcProjectRequest).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `WalletsMPCWalletsAPI.CreateMpcProject``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateMpcProject`: MPCProject
fmt.Fprintf(os.Stdout, "Response from `WalletsMPCWalletsAPI.CreateMpcProject`: %v\n", resp)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.WalletsMPCWalletsApi();
const opts = {
CreateMpcProjectRequest:
CoboWaas2.CreateMpcProjectRequest.constructFromObject({
name: "Project name",
participants: 3,
threshold: 2,
}),
};
apiInstance.createMpcProject(opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"project_id": "0111039d-27fb-49ba-b172-6e0aa80e37ec",
"org_id": "f3b4a616-9c43-462e-8cb4-343e304fee64",
"name": "Project name",
"participants": 3,
"threshold": 2,
"created_timestamp": 1718619403933
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}Create project
This operation creates a project.
import cobo_waas2
from cobo_waas2.models.create_mpc_project_request import CreateMpcProjectRequest
from cobo_waas2.models.mpc_project import MPCProject
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.WalletsMPCWalletsApi(api_client)
create_mpc_project_request = cobo_waas2.CreateMpcProjectRequest(
name="Project name", participants=3, threshold=2
)
try:
# Create project
api_response = api_instance.create_mpc_project(
create_mpc_project_request=create_mpc_project_request
)
print("The response of WalletsMPCWalletsApi->create_mpc_project:\n")
pprint(api_response)
except Exception as e:
print(
"Exception when calling WalletsMPCWalletsApi->create_mpc_project: %s\n" % e
)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.WalletsMpcWalletsApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
WalletsMpcWalletsApi apiInstance = new WalletsMpcWalletsApi();
CreateMpcProjectRequest createMpcProjectRequest =
new CreateMpcProjectRequest().name("Project name").participants(3).threshold(2);
try {
MPCProject result = apiInstance.createMpcProject(createMpcProjectRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling WalletsMpcWalletsApi#createMpcProject");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
createMpcProjectRequest := *coboWaas2.NewCreateMpcProjectRequest("Project name", int32(3), int32(2))
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.WalletsMPCWalletsAPI.CreateMpcProject(ctx).
CreateMpcProjectRequest(createMpcProjectRequest).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `WalletsMPCWalletsAPI.CreateMpcProject``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateMpcProject`: MPCProject
fmt.Fprintf(os.Stdout, "Response from `WalletsMPCWalletsAPI.CreateMpcProject`: %v\n", resp)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.WalletsMPCWalletsApi();
const opts = {
CreateMpcProjectRequest:
CoboWaas2.CreateMpcProjectRequest.constructFromObject({
name: "Project name",
participants: 3,
threshold: 2,
}),
};
apiInstance.createMpcProject(opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
{
"project_id": "0111039d-27fb-49ba-b172-6e0aa80e37ec",
"org_id": "f3b4a616-9c43-462e-8cb4-343e304fee64",
"name": "Project name",
"participants": 3,
"threshold": 2,
"created_timestamp": 1718619403933
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}import cobo_waas2
from cobo_waas2.models.create_mpc_project_request import CreateMpcProjectRequest
from cobo_waas2.models.mpc_project import MPCProject
from cobo_waas2.rest import ApiException
from pprint import pprint
# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
# Replace `<YOUR_PRIVATE_KEY>` with your private key
api_private_key="<YOUR_PRIVATE_KEY>",
# Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = cobo_waas2.WalletsMPCWalletsApi(api_client)
create_mpc_project_request = cobo_waas2.CreateMpcProjectRequest(
name="Project name", participants=3, threshold=2
)
try:
# Create project
api_response = api_instance.create_mpc_project(
create_mpc_project_request=create_mpc_project_request
)
print("The response of WalletsMPCWalletsApi->create_mpc_project:\n")
pprint(api_response)
except Exception as e:
print(
"Exception when calling WalletsMPCWalletsApi->create_mpc_project: %s\n" % e
)
// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.WalletsMpcWalletsApi;
import com.cobo.waas2.model.*;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Select the development environment. To use the production environment, replace `Env.DEV` with
// `Env.PROD
defaultClient.setEnv(Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
WalletsMpcWalletsApi apiInstance = new WalletsMpcWalletsApi();
CreateMpcProjectRequest createMpcProjectRequest =
new CreateMpcProjectRequest().name("Project name").participants(3).threshold(2);
try {
MPCProject result = apiInstance.createMpcProject(createMpcProjectRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling WalletsMpcWalletsApi#createMpcProject");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
package main
import (
"context"
"fmt"
coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
"os"
)
func main() {
createMpcProjectRequest := *coboWaas2.NewCreateMpcProjectRequest("Project name", int32(3), int32(2))
configuration := coboWaas2.NewConfiguration()
// Initialize the API client
apiClient := coboWaas2.NewAPIClient(configuration)
ctx := context.Background()
// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
// Replace `<YOUR_PRIVATE_KEY>` with your private key
ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
Secret: "<YOUR_PRIVATE_KEY>",
})
resp, r, err := apiClient.WalletsMPCWalletsAPI.CreateMpcProject(ctx).
CreateMpcProjectRequest(createMpcProjectRequest).
Execute()
if err != nil {
fmt.Fprintf(
os.Stderr,
"Error when calling `WalletsMPCWalletsAPI.CreateMpcProject``: %v\n",
err,
)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `CreateMpcProject`: MPCProject
fmt.Fprintf(os.Stdout, "Response from `WalletsMPCWalletsAPI.CreateMpcProject`: %v\n", resp)
}
const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.WalletsMPCWalletsApi();
const opts = {
CreateMpcProjectRequest:
CoboWaas2.CreateMpcProjectRequest.constructFromObject({
name: "Project name",
participants: 3,
threshold: 2,
}),
};
apiInstance.createMpcProject(opts).then(
(data) => {
console.log("API called successfully. Returned data: " + data);
},
(error) => {
console.error(error);
},
);
Authorizations
The API key. For more details, refer to API key.
In the API playground, enter your API secret, and your API key will be accordingly calculated.
Body
The request body to create a project.
The project name.
"Project name"
The number of key share holders in the project.
Notes:
-
Currently, the available Threshold Signature Schemes (TSS) are 2-2, 2-3, and 3-3 schemes (in the "threshold - participants" format), so you can only set
participantsto 2 or 3. -
thresholdmust be less than or equal toparticipants.
3
The number of key share holders required to sign an operation in the project.
Notes:
-
Currently, the available Threshold Signature Schemes (TSS) are 2-2, 2-3, and 3-3 schemes (in the "threshold - participants" format), so you can only set
thresholdto 2 or 3. -
thresholdmust be less than or equal toparticipants.
2
Response
Successfully created project.
The data for project information.
The project ID.
"0111039d-27fb-49ba-b172-6e0aa80e37ec"
The organization ID.
"f3b4a616-9c43-462e-8cb4-343e304fee64"
The project name.
"Project name"
The number of key share holders in the project.
3
The number of key share holders required to sign an operation in the project.
2
The project's creation time in Unix timestamp format, measured in milliseconds.
1718619403933
Was this page helpful?
