Register a Repository
This page describes how to register an existing local repository to the network.
Before you can start pushing your local repository to the MakeOS network, you must first register it just like you do when you create a repository on centralized source code hosting platforms.
You can create a repository via the CLI or within a JavaScript console session.
First, you must create an account key that will be used to sign the transactions. You can skip this set if you already have a key.
Bash
Output
kit key create
- Address: os1m4aaslnzmdp4k3g52tk6eh94ghr547exvtcrkd
Registering a repository on the network will cost a small fee. You will need to have some test coins sent to your key. If you are running a private network, the
dev.accountKey
can be used in this example. If you are connected to our testnet, you can learn how to request for test coins here.Next, let us create a transaction to register a repository named
express
to be created. Bash
Output
kit repo create "express" \
--signing-key="os1m4aaslnzmdp4k3g52tk6eh94ghr547exvtcrkd" \
--fee=1.51
- Name: r/express
- Hash:0x14453068c8d4a9db5ccd3f78a...fbe9a9131aa03818a1ee9469a
We use
--signing-key
flag to set the address of the key, we created earlier. This is the key that will pay the transaction and registration fees. We also set the transaction fee using the --fee
flag.--signing-key
can also take the keystore index of the key. Like the CLI example, let us create a repository name
express
. In the console, call repo.create
method to register a new repository:JavaScript
Output
repo.create({ name: "express", fee: "1", value: "0"}, dev.accountKey)
{
"address": "r/express",
"hash": "0xfc2e2fb9668271f30fa9bcec...28d0e376e4ff6d33ec68363c"
}
repo.create
is passed an object that contains the properties of the transaction such as:- The name of the repository.
- The amount of fees we are willing to pay.
- The amount of Latinum coins we want to add to the repository's balance account. If set to a non-zero value, the amount is deducted from the signing account and credited to the repository.
The
repo.create
is also passed the private key that will be used to sign the transaction and pay any fee or deductions. For this example, we use the developer account key that includes test coins. The developer key is only available in the testnet or a private development network. If you want to use a key on the keystore instead of the
dev.accountKey
, replace it with user.getKey(accounts[0],"passphrase")
.where:
accounts[0]
: is the key at index 0 in the Keystore. Alternatively, you can use the address of the key.passphrase
: is the passphrase used to unlock the key. If not provided, a prompt will be initiated to request for it.
Last modified 2yr ago