ネームスペースの取得

アセットを識別する、一意の名前を作成します。

前提条件

  • 入門セクション を完了している

  • 新しい アカウント を作成します。

  • アカウントに手数料を支払うために十分な symbol.xym を入金してください。

方法 #01: デスクトップウォレットを使用する

  1. 左側のメニューの "ネームスペース" をクリックします。

../../_images/desktop-register-namespace-1.gif
  1. "Create new namespaces" タブをクリックします。

../../_images/desktop-register-namespace-2.gif

3. Enter the information for your new namespace. Click "Send". Verify the information on the popup and enter your wallet password. Click "Confirm".

注釈

名前はネットワーク上で一意でなければならず、最大64文字、利用可能な文字は a, b, c, …, z, 0, 1, 2, …, 9, _ , - です。

../../_images/desktop-register-namespace-3.gif

4. You can check that the namespace has been created by going back to the "Owned namespaces" tab. If you don’t see your namespace, try clicking on the update icon.

../../_images/desktop-register-namespace-4.gif

注釈

あなたのネームスペース所有権を維持するためには 期限が切れる前にネームスペース期間の延長 を行ってください。

トランザクションが承認されたら、次のガイドの サブネームスペースの取得 へ進めます。

方法 #02: SDK を使用する

  1. ネームスペースのために 一意な名前 を選択してください。一般的にはあなたの会社または自分の名前を使用します。

  2. ネームスペース名が 利用可能 かどうかを確認します。例えば、 コマンドラインインターフェイス を使用して、ネームスペースが登録されているかどうかを確認できます。

symbol-cli namespace info --namespace-name foo
  1. このネームスペースは有効でしょうか?誰かに取得される前に登録しましょう!新しいネームスペースを取得するために、新しいファイルを開いて、選んだ名前とブロック数で示されるレンタル期間を設定した NamespaceRegistrationTransaction をアナウンスしてください。

// replace with namespace name
const namespaceName = 'foo';
// replace with duration (in blocks)
const duration = UInt64.fromUint(172800);
// replace with network type
const networkType = NetworkType.TEST_NET;

const namespaceRegistrationTransaction = NamespaceRegistrationTransaction.createRootNamespace(
  Deadline.create(epochAdjustment),
  namespaceName,
  duration,
  networkType,
  UInt64.fromUint(2000000),
);

// replace with private key
const privateKey =
  '1111111111111111111111111111111111111111111111111111111111111111';
const account = Account.createFromPrivateKey(privateKey, networkType);
// replace with meta.networkGenerationHash (nodeUrl + '/node/info')
const networkGenerationHash =
  '1DFB2FAA9E7F054168B0C5FCB84F4DEB62CC2B4D317D861F3168D161F54EA78B';
const signedTransaction = account.sign(
  namespaceRegistrationTransaction,
  networkGenerationHash,
);
// replace with node endpoint
const nodeUrl = 'NODE_URL';
const repositoryFactory = new RepositoryFactoryHttp(nodeUrl);
const transactionHttp = repositoryFactory.createTransactionRepository();

transactionHttp.announce(signedTransaction).subscribe(
  (x) => console.log(x),
  (err) => console.error(err),
);
// replace with namespace name
const namespaceName = 'foo';
// replace with duration (in blocks)
const duration = symbol_sdk_1.UInt64.fromUint(172800);
// replace with network type
const networkType = symbol_sdk_1.NetworkType.TEST_NET;
const namespaceRegistrationTransaction = symbol_sdk_1.NamespaceRegistrationTransaction.createRootNamespace(
  symbol_sdk_1.Deadline.create(epochAdjustment),
  namespaceName,
  duration,
  networkType,
  symbol_sdk_1.UInt64.fromUint(2000000),
);
// replace with private key
const privateKey =
  '1111111111111111111111111111111111111111111111111111111111111111';
const account = symbol_sdk_1.Account.createFromPrivateKey(
  privateKey,
  networkType,
);
// replace with meta.networkGenerationHash (nodeUrl + '/node/info')
const networkGenerationHash =
  '1DFB2FAA9E7F054168B0C5FCB84F4DEB62CC2B4D317D861F3168D161F54EA78B';
const signedTransaction = account.sign(
  namespaceRegistrationTransaction,
  networkGenerationHash,
);
// replace with node endpoint
const nodeUrl = 'NODE_URL';
const repositoryFactory = new symbol_sdk_1.RepositoryFactoryHttp(nodeUrl);
const transactionHttp = repositoryFactory.createTransactionRepository();
transactionHttp.announce(signedTransaction).subscribe(
  (x) => console.log(x),
  (err) => console.error(err),
);

注釈

あなたのネームスペース所有権を維持するためには 期限が切れる前にネームスペース期間の延長 を行ってください。

方法 #03: CLI を使用する

新しいネームスペースを作成するには、ターミナルウィンドウを開き、次のコマンドを実行します。 foo を選択したネームスペース名に置き換え、 172800 をブロック数で表したネームスペース期間で置き換えます。

symbol-cli transaction namespace --name foo --rootnamespace --duration 172800