1. Go to this page and download the library: Download primas/node library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
primas / node example snippets
$config = [
"http_options" => [
"base_uri" => "https://staging.primas.io" // testnet
]
];
$app = \Primas\Factory::account($config);
// Sign with the keystore
// Import the keystore
$keystore = '{"version":3,"id":"e1a1909a-7a38-44aa-af04-61cd3a342008","address":"d75407ad8cabeeebfed78c4f3794208b3339fbf4","Crypto":{"ciphertext":"bcf8d3037432f731d3dbb0fde1b32be47faa202936c303ece7f53890a79f49d2","cipherparams":{"iv":"e28edaeff90032f24481c6117e593e01"},"cipher":"aes-128-ctr","kdf":"scrypt","kdfparams":{"dklen":32,"salt":"7d7c824367d7f6607128c721d6e1729abf706a3165384bbfc2aae80510ec0ce2","n":1024,"r":8,"p":1},"mac":"52f98caaa4959448ec612e4314146b6a2d5022d5394b77e31f5a79780079c22f"}}';
$password = "Test123:::";
\Primas\Kernel\Eth\Keystore::init($keyStore, $password);
$parameters = [
"name" => "Test123",
"abstract" => "first test",
"created" => time(),
"address" => (string)\Primas\Kernel\Eth\Keystore::getAddress();
];
$metadataJson = $app->buildCreateAccount($parameters);
$signature = $app->sign($metadataJson);
$metadata = $app->setSignature($metadataJson, $signature);
$res = $account->createAccount($metadata);
// ......
// Sign with a signature machine
$parameters = [
"name" => "Test123",
"abstract" => "first test",
"created" => time(),
"address" => "0xd75407ad8cabeeebfed78c4f3794208";
];
$metadataJson = $app->buildCreateAccount($parameters);
// TODO request signature machine get signature
// If it is asynchronous, save the correspondence between the signature result and the application.
$signature="your signature from your signature machine";
$metadata = $app->setSignature($metadataJson, $signature);
$res = $account->createAccount($metadata);
var_dump($res);
// save the root account id
// save the root account id
// save the root account id
// result
/*
array(3) {
["result_code"]=>
int(0)
["result_msg"]=>
string(7) "success"
["data"]=>
array(2) {
["id"]=>
string(64) "e19aa9a8cdc217c345925b7e824baea0ef6dab0e11117dfd2746be469b412724"
["dna"]=>
string(64) "4659b4848c8e9e3ec60c94ded2cc58a35419411f58ff27dc51f116bb05577eb9"
}
}
*/