Config

Marble Config

The Marble Config is a block of configuration data about the Marble contract itself. It contains informations like the contract name, contract version, and admin account.

Marble Admins

The Marble Admin account has the following roles:

Role

Description

Group Creation

Only the Admin account may create new groups.

Version Updates

The Admin account may call the setversion() action to update to a new version.

Table Breakdown

Table Name: config

Table Scope: self

Field Name

Field Type

Description

contract_name

string

Contract Name

contract_version

string

Contract SemVer version

admin

name

Contract Admin account

last_serial

uint64_t

Global Serial counter

Initialize Marble Config

Every Marble contract has a config table created by the init() action.

Required Authority: self

Action Parameters

Name

Type

Example

Description

contract_name

string

"Marble Sandbox"

The name of the Marble Contract.

contract_version

string

"v1.0.0"

The SemVer version of the Marble Contract.

initial_admin

name

testaccount1

The account name of the admin.

Examples

Cleos
Marble CLI
Cleos
cleos push action {account} init '[ {params} ]' -p {account}
Marble CLI
marble init ...

Set New Contract Version

Set a new contract version number by calling the setversion() action.

Required Authority: admin

Action Parameters

Name

Type

Example

Description

new_version

string

"v1.1.0"

The new contract version in SemVer format.

Examples

Cleos
Marble CLi
Cleos
cleos push action {account} setversion '[ {params} ]' -p {account}
Marble CLi
marble modify version ...

Set New Admin

Set a new contract admin by calling the setadmin() action.

Required Authority: admin

Action Parameters

Name

Type

Example

Description

new_admin

name

testaccount2

The account name to set as the new admin.

Examples

Cleos
Marble CLI
Cleos
cleos push action {account} setadmin '[ {params} ]' -p {account}
Marble CLI
marble modify admin ...

‚Äč