ReddID RPC Documentation - reddcoin-project/reddcoin GitHub Wiki
This document serves as the comprehensive reference for the Reddcoin Identity (ReddID) system's Remote Procedure Call (RPC) interface. The ReddID system provides a decentralized identity management solution built on the Reddcoin blockchain, consisting of namespaces, user IDs, and social identity features.
- Introduction
- Authentication
- Error Handling
- Namespace Commands
- User ID Commands
- Profile Commands
- Reputation Commands
- Command Relationships
- Best Practices
The ReddID system is organized into three primary components:
-
Namespaces: Top-level domains like
.redd
that establish rules for users within them -
User IDs: Second-level identifiers like
alice.redd
that exist within namespaces - ReddIDs: Cross-namespace identities that provide social features and reputation
This RPC interface allows developers to interact with all aspects of the system through the Reddcoin node.
All RPC commands require standard Reddcoin RPC authentication. Commands that modify state (creating auctions, bidding, etc.) require wallet access to sign transactions.
The RPC commands will return standardized error codes:
- RPC_INTERNAL_ERROR (500): System initialization issues or internal errors
- RPC_INVALID_PARAMETER (400): Invalid command parameters
- RPC_WALLET_ERROR (500): Issues with wallet access or transaction creation
- RPC_MISC_ERROR (500): General operation failures
- RPC_INVALID_ADDRESS_OR_KEY (400): Invalid address formats
These commands manage the top-level namespaces in the ReddID system.
Lists all registered namespaces in the system.
Parameters: None
Result:
[
{
"id": "namespace_identifier",
"owner": "owner_address",
"allow_numbers": true|false,
"allow_hyphens": true|false,
"allow_underscores": true|false,
"min_length": n,
"max_length": n,
"renewal_period": n,
"grace_period": n,
"namespace_revenue_pct": n,
"burn_pct": n,
"node_pct": n,
"dev_pct": n,
"min_auction_duration": n,
"max_auction_duration": n,
"min_bid_increment": n,
"last_updated": timestamp,
"expiration": timestamp
},
...
]
Example:
reddcoin-cli getnamespacelist
Gets detailed information about a specific namespace.
Parameters:
-
namespaceid
(string, required): The namespace identifier
Result:
{
"id": "namespace_identifier",
"owner": "owner_address",
"allow_numbers": true|false,
"allow_hyphens": true|false,
"allow_underscores": true|false,
"min_length": n,
"max_length": n,
"renewal_period": n,
"grace_period": n,
"namespace_revenue_pct": n,
"burn_pct": n,
"node_pct": n,
"dev_pct": n,
"min_auction_duration": n,
"max_auction_duration": n,
"min_bid_increment": n,
"last_updated": timestamp,
"expiration": timestamp,
"pricing_tiers": [
{
"min_length": n,
"min_price": amount
},
...
]
}
Example:
reddcoin-cli getnamespaceinfo "redd"
Creates a namespace auction.
Parameters:
-
namespaceid
(string, required): The namespace identifier (1-15 characters) -
reserve_price
(numeric, required): The minimum bid amount in RDD -
duration_days
(numeric, required): The auction duration in days (14-30) -
auction_type
(numeric, optional): The auction type (0=standard, 1=premium) -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"auction_id": "auction_identifier_hex",
"namespace_id": "namespace_identifier",
"start_time": timestamp,
"end_time": timestamp,
"reserve_price": amount,
"auction_type": n,
"creator_address": "creator_address"
}
Example:
reddcoin-cli createnamespacesauction "redd" 50000 14
reddcoin-cli createnamespacesauction "redd" 50000 14 0 "myaccount" "legacy" "My Label"
Places a bid on a namespace auction.
Parameters:
-
auction_id
(string, required): The auction identifier -
bid_amount
(numeric, required): The bid amount in RDD -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"bid_id": "bid_identifier_hex",
"auction_id": "auction_identifier_hex",
"bid_amount": amount,
"deposit_amount": amount,
"bid_time": timestamp,
"bidder_address": "bidder_address"
}
Example:
reddcoin-cli bidonnamespacesauction "abcd1234" 100000
reddcoin-cli bidonnamespacesauction "abcd1234" 100000 "myaccount" "legacy" "My Label"
Finalizes a namespace auction.
Parameters:
-
auction_id
(string, required): The auction identifier
Result:
{
"auction_id": "auction_identifier_hex",
"namespace_id": "namespace_identifier",
"winner": "winner_address",
"final_price": amount,
"state": 3
}
Example:
reddcoin-cli finalizenamespacesauction "abcd1234"
Cancels a namespace auction. Only the creator can cancel an auction, and only if there are no bids.
Parameters:
-
auction_id
(string, required): The auction identifier -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"auction_id": "auction_identifier_hex",
"namespace_id": "namespace_identifier",
"state": 4
}
Example:
reddcoin-cli cancelnamespacesauction "abcd1234"
reddcoin-cli cancelnamespacesauction "abcd1234" "myaccount" "legacy" "My Label"
Lists all namespace auctions in the system.
Parameters:
-
active_only
(boolean, optional, default=false): If true, only show active auctions
Result:
[
{
"auction_id": "auction_identifier_hex",
"namespace_id": "namespace_identifier",
"creator": "creator_address",
"start_time": timestamp,
"end_time": timestamp,
"reserve_price": amount,
"current_bid": amount,
"current_bidder": "bidder_address",
"state": n,
"type": n,
"time_remaining": seconds
},
...
]
Example:
reddcoin-cli getnamespaceauctionlist
reddcoin-cli getnamespaceauctionlist true
reddcoin-cli getnamespacesauctions
reddcoin-cli getnamespacesauctions true
Gets detailed information about a specific namespace auction.
Parameters:
-
auction_id
(string, required): The auction identifier -
verbose
(boolean, optional, default=false): If true, include bid history
Result:
{
"auction_id": "auction_identifier_hex",
"namespace_id": "namespace_identifier",
"creator": "creator_address",
"start_time": timestamp,
"end_time": timestamp,
"reserve_price": amount,
"current_bid": amount,
"current_bidder": "bidder_address",
"deposit_amount": amount,
"state": n,
"type": n,
"time_remaining": seconds,
"bids": [
{
"bid_id": "bid_identifier_hex",
"bidder": "bidder_address",
"amount": amount,
"time": timestamp,
"is_winner": true|false
},
...
]
}
Example:
reddcoin-cli getnamespaceauctioninfo "abcd1234"
reddcoin-cli getnamespaceauctioninfo "abcd1234" true
Gets all bids for a specific namespace auction.
Parameters:
-
auction_id
(string, required): The auction identifier -
sort_by
(string, optional, default="time"): Sort order: 'time', 'amount' -
sort_dir
(string, optional, default="desc"): Sort direction: 'desc', 'asc'
Result:
{
"auction_id": "auction_identifier_hex",
"namespace_id": "namespace_identifier",
"total_bids": n,
"highest_bid": amount,
"bids": [
{
"bid_id": "bid_identifier_hex",
"bidder": "bidder_address",
"amount": amount,
"deposit": amount,
"time": timestamp,
"is_winner": true|false,
"refunded": true|false
},
...
]
}
Example:
reddcoin-cli getnamespacesauctionbids "abcd1234"
reddcoin-cli getnamespacesauctionbids "abcd1234" "amount" "desc"
Updates configuration parameters for a namespace. Only the namespace owner can perform this operation.
Parameters:
-
namespaceid
(string, required): The namespace identifier -
config
(object, required): Configuration parameters-
allow_numbers
(boolean, optional): Whether numbers are allowed in user IDs -
allow_hyphens
(boolean, optional): Whether hyphens are allowed in user IDs -
allow_underscores
(boolean, optional): Whether underscores are allowed in user IDs -
min_length
(numeric, optional): Minimum user ID length (1-10) -
max_length
(numeric, optional): Maximum user ID length (5-64) -
renewal_period
(numeric, optional): Days until renewal required (180-730) -
grace_period
(numeric, optional): Days in grace period (14-60) -
namespace_revenue_pct
(numeric, optional): % of auctions going to namespace owner (5-10) -
burn_pct
(numeric, optional): % of auctions being burned (50-80) -
node_pct
(numeric, optional): % of auctions going to node operators (5-25) -
dev_pct
(numeric, optional): % of auctions going to development fund (5-15) -
min_auction_duration
(numeric, optional): Minimum auction duration in days (1-7) -
max_auction_duration
(numeric, optional): Maximum auction duration in days (3-14) -
min_bid_increment
(numeric, optional): Minimum bid increment percentage (1.0-10.0)
-
-
pricing_tiers
(array, optional): Pricing tiers for different name lengths-
min_length
(numeric, required): Minimum length for this tier -
min_price
(numeric, required): Minimum price for names in this tier in RDD
-
-
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"id": "namespace_identifier",
"owner": "owner_address",
"allow_numbers": true|false,
"allow_hyphens": true|false,
"allow_underscores": true|false,
"min_length": n,
"max_length": n,
"renewal_period": n,
"grace_period": n,
"namespace_revenue_pct": n,
"burn_pct": n,
"node_pct": n,
"dev_pct": n,
"min_auction_duration": n,
"max_auction_duration": n,
"min_bid_increment": n,
"last_updated": timestamp,
"expiration": timestamp,
"pricing_tiers": [
{
"min_length": n,
"min_price": amount
},
...
]
}
Example:
reddcoin-cli configurenamespaces "redd" '{"allow_numbers":true,"min_length":3,"max_length":32}'
reddcoin-cli configurenamespaces "redd" '{"min_bid_increment":5.0}' '[{"min_length":1,"min_price":100000},{"min_length":3,"min_price":10000}]'
Renews an existing namespace to extend its expiration period. Only the namespace owner can renew.
Parameters:
-
namespaceid
(string, required): The namespace identifier -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"id": "namespace_identifier",
"owner": "owner_address",
"previous_expiration": timestamp,
"new_expiration": timestamp,
"renewal_fee": amount
}
Example:
reddcoin-cli renewnamespace "redd"
reddcoin-cli renewnamespace "redd" "myaccount" "legacy" "My Label"
Transfers ownership of a namespace to another address.
Parameters:
-
namespaceid
(string, required): The namespace identifier -
toaddress
(string, required): The destination address -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"id": "namespace_identifier",
"previous_owner": "previous_owner_address",
"new_owner": "new_owner_address",
"transfer_time": timestamp
}
Example:
reddcoin-cli transfernamespace "redd" "rx1qw9lfdjhn37..."
reddcoin-cli transfernamespace "redd" "rx1qw9lfdjhn37..." "myaccount" "legacy" "My Label"
These commands manage the user IDs within namespaces.
Lists user IDs in a specific namespace.
Parameters:
-
namespaceid
(string, required): The namespace identifier
Result:
[
{
"name": "user_id_name",
"namespace_id": "namespace_identifier",
"owner": "owner_address",
"registration_time": timestamp,
"expiration_time": timestamp,
"last_transaction": timestamp,
"transaction_count": n
},
...
]
Example:
reddcoin-cli getuseridlist "redd"
Gets detailed information about a specific user ID.
Parameters:
-
name
(string, required): The user ID name -
namespaceid
(string, required): The namespace identifier
Result:
{
"name": "user_id_name",
"namespace_id": "namespace_identifier",
"owner": "owner_address",
"registration_time": timestamp,
"expiration_time": timestamp,
"last_transaction": timestamp,
"transaction_count": n
}
Example:
reddcoin-cli getuseridinfo "alice" "redd"
Creates a user ID auction within a namespace.
Parameters:
-
name
(string, required): The user ID name -
namespaceid
(string, required): The namespace identifier -
reserve_price
(numeric, required): The minimum bid amount in RDD -
duration_days
(numeric, required): The auction duration in days -
auction_type
(numeric, optional): The auction type (0=standard, 1=premium) -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"auction_id": "auction_identifier_hex",
"name": "user_id_name",
"namespace_id": "namespace_identifier",
"start_time": timestamp,
"end_time": timestamp,
"reserve_price": amount,
"auction_type": n,
"creator_address": "creator_address"
}
Example:
reddcoin-cli createuseridauction "alice" "redd" 5000 7
reddcoin-cli createuseridauction "alice" "redd" 5000 7 0 "myaccount" "legacy" "My Label"
Places a bid on a user ID auction.
Parameters:
-
auction_id
(string, required): The auction identifier -
bid_amount
(numeric, required): The bid amount in RDD -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"bid_id": "bid_identifier_hex",
"auction_id": "auction_identifier_hex",
"bid_amount": amount,
"deposit_amount": amount,
"bid_time": timestamp,
"bidder_address": "bidder_address"
}
Example:
reddcoin-cli bidonuseridauction "abcd1234" 10000
reddcoin-cli bidonuseridauction "abcd1234" 10000 "myaccount" "legacy" "My Label"
Finalizes a user ID auction.
Parameters:
-
auction_id
(string, required): The auction identifier
Result:
{
"auction_id": "auction_identifier_hex",
"name": "user_id_name",
"namespace_id": "namespace_identifier",
"winner": "winner_address",
"final_price": amount,
"state": 3
}
Example:
reddcoin-cli finalizeuseridauction "abcd1234"
Cancels a user ID auction. Only the creator can cancel an auction, and only if there are no bids.
Parameters:
-
auction_id
(string, required): The auction identifier -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"auction_id": "auction_identifier_hex",
"name": "user_id_name",
"namespace_id": "namespace_identifier",
"state": 4
}
Example:
reddcoin-cli canceluseridauction "abcd1234"
reddcoin-cli canceluseridauction "abcd1234" "myaccount" "legacy" "My Label"
Lists all user ID auctions in the system.
Parameters:
-
namespaceid
(string, optional): Filter by namespace ID -
active_only
(boolean, optional, default=false): If true, only show active auctions
Result:
[
{
"auction_id": "auction_identifier_hex",
"name": "user_id_name",
"namespace_id": "namespace_identifier",
"creator": "creator_address",
"start_time": timestamp,
"end_time": timestamp,
"reserve_price": amount,
"current_bid": amount,
"current_bidder": "bidder_address",
"state": n,
"type": n,
"time_remaining": seconds
},
...
]
Example:
reddcoin-cli getuserauctionlist
reddcoin-cli getuserauctionlist "redd"
reddcoin-cli getuserauctionlist "redd" true
reddcoin-cli getuseridauctions
reddcoin-cli getuseridauctions "redd"
reddcoin-cli getuseridauctions "redd" true
Gets detailed information about a specific user ID auction.
Parameters:
-
auction_id
(string, required): The auction identifier -
verbose
(boolean, optional, default=false): If true, include bid history
Result:
{
"auction_id": "auction_identifier_hex",
"name": "user_id_name",
"namespace_id": "namespace_identifier",
"creator": "creator_address",
"start_time": timestamp,
"end_time": timestamp,
"reserve_price": amount,
"current_bid": amount,
"current_bidder": "bidder_address",
"deposit_amount": amount,
"state": n,
"type": n,
"time_remaining": seconds,
"namespace_info": {
"id": "namespace_identifier",
"owner": "owner_address",
"min_length": n,
"max_length": n,
"renewal_period": n,
"grace_period": n
},
"bids": [
{
"bid_id": "bid_identifier_hex",
"bidder": "bidder_address",
"amount": amount,
"time": timestamp,
"is_winner": true|false
},
...
]
}
Example:
reddcoin-cli getuserauctioninfo "abcd1234"
reddcoin-cli getuserauctioninfo "abcd1234" true
Gets all bids for a specific user ID auction.
Parameters:
-
auction_id
(string, required): The auction identifier -
sort_by
(string, optional, default="time"): Sort order: 'time', 'amount' -
sort_dir
(string, optional, default="desc"): Sort direction: 'desc', 'asc'
Result:
{
"auction_id": "auction_identifier_hex",
"name": "user_id_name",
"namespace_id": "namespace_identifier",
"total_bids": n,
"highest_bid": amount,
"bids": [
{
"bid_id": "bid_identifier_hex",
"bidder": "bidder_address",
"amount": amount,
"deposit": amount,
"time": timestamp,
"is_winner": true|false,
"refunded": true|false,
"bidder_reddid": "bidder_reddid"
},
...
]
}
Example:
reddcoin-cli getuseridauctionbids "abcd1234"
reddcoin-cli getuseridauctionbids "abcd1234" "amount" "desc"
Renews a user ID.
Parameters:
-
name
(string, required): The user ID name -
namespaceid
(string, required): The namespace identifier -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"name": "user_id_name",
"namespace_id": "namespace_identifier",
"expiration_time": timestamp,
"renewal_fee": amount
}
Example:
reddcoin-cli renewuserid "alice" "redd"
reddcoin-cli renewuserid "alice" "redd" "myaccount" "legacy" "My Label"
Transfers a user ID to another address.
Parameters:
-
name
(string, required): The user ID name -
namespaceid
(string, required): The namespace identifier -
toaddress
(string, required): The destination address -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"name": "user_id_name",
"namespace_id": "namespace_identifier",
"previous_owner": "previous_owner_address",
"new_owner": "new_owner_address"
}
Example:
reddcoin-cli transferuserid "alice" "redd" "address"
reddcoin-cli transferuserid "alice" "redd" "address" "myaccount" "legacy" "My Label"
These commands manage ReddID profiles and social connections.
Gets all social connections for a specific ReddID.
Parameters:
-
reddid
(string, required): The ReddID to get connections for -
connection_type
(numeric, optional): Filter by connection type (0=follow, 1=friend, 2=endorse, 3=block) -
direction
(string, optional, default="outgoing"): Connection direction to show: 'outgoing', 'incoming', or 'both'
Result:
{
"reddid": "reddid",
"outgoing_connections": [
{
"to_reddid": "target_reddid",
"connection_type": n,
"type_name": "connection_type_string",
"creation_time": timestamp,
"last_interaction": timestamp,
"visibility": n,
"metadata": "additional_metadata"
},
...
],
"incoming_connections": [
{
"from_reddid": "source_reddid",
"connection_type": n,
"type_name": "connection_type_string",
"creation_time": timestamp,
"last_interaction": timestamp,
"visibility": n
},
...
]
}
Example:
reddcoin-cli getuserconnections "alice"
reddcoin-cli getuserconnections "alice" 1
reddcoin-cli getuserconnections "alice" null "both"
Creates a new social connection between two users.
Parameters:
-
from_reddid
(string, required): The source ReddID -
to_reddid
(string, required): The target ReddID -
connection_type
(numeric, required): Connection type (0=follow, 1=friend, 2=endorse, 3=block) -
visibility
(numeric, optional, default=0): Privacy setting (0=public, 1=friends, 2=private) -
metadata
(string, optional): Additional connection metadata -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"from_reddid": "source_reddid",
"to_reddid": "target_reddid",
"connection_type": n,
"type_name": "connection_type_string",
"creation_time": timestamp,
"visibility": n,
"metadata": "additional_metadata",
"owner_address": "owner_address"
}
Example:
reddcoin-cli createuserconnection "alice" "bob" 0
reddcoin-cli createuserconnection "alice" "bob" 1 0 "Friends since school"
Updates an existing social connection between two users.
Parameters:
-
from_reddid
(string, required): The source ReddID -
to_reddid
(string, required): The target ReddID -
connection_type
(numeric, required): New connection type (0=follow, 1=friend, 2=endorse, 3=block) -
visibility
(numeric, optional): New privacy setting (0=public, 1=friends, 2=private) -
metadata
(string, optional): New additional connection metadata -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"from_reddid": "source_reddid",
"to_reddid": "target_reddid",
"connection_type": n,
"type_name": "connection_type_string",
"creation_time": timestamp,
"last_interaction": timestamp,
"visibility": n,
"metadata": "additional_metadata",
"owner_address": "owner_address"
}
Example:
reddcoin-cli updateuserconnection "alice" "bob" 1
reddcoin-cli updateuserconnection "alice" "bob" 1 0 "Close friends"
Removes an existing social connection between two users.
Parameters:
-
from_reddid
(string, required): The source ReddID -
to_reddid
(string, required): The target ReddID -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"from_reddid": "source_reddid",
"to_reddid": "target_reddid",
"removed": true,
"owner_address": "owner_address"
}
Example:
reddcoin-cli removeuserconnection "alice" "bob"
reddcoin-cli removeuserconnection "alice" "bob" "myaccount" "legacy" "My Label"
These commands manage ReddID reputation data.
Gets the reputation information for a specific ReddID user.
Parameters:
-
reddid
(string, required): The ReddID to get reputation for -
detailed
(boolean, optional, default=false): If true, include detailed breakdown of reputation components
Result:
{
"reddid": "reddid",
"overall_score": n,
"last_calculated": timestamp,
"longevity_score": n,
"transaction_score": n,
"engagement_score": n,
"verification_score": n,
"auction_score": n,
"owner": "owner_address",
"profile_summary": {
"display_name": "display_name",
"verification_status": n,
"creation_time": timestamp,
"active": true|false
}
}
Example:
reddcoin-cli getuserreputation "alice"
reddcoin-cli getuserreputation "alice" true
Updates reputation information for a user. Only authorized nodes can update reputation directly.
Parameters:
-
reddid
(string, required): The ReddID to update reputation for -
reputation_data
(object, required): Reputation data to update-
overall_score
(numeric, optional): Overall reputation score (0-100) -
longevity_score
(numeric, optional): Score component for account age (0-100) -
transaction_score
(numeric, optional): Score component for transaction history (0-100) -
engagement_score
(numeric, optional): Score component for community engagement (0-100) -
verification_score
(numeric, optional): Score component for verification depth (0-100) -
auction_score
(numeric, optional): Score component for auction behavior (0-100)
-
-
auth_address
(string, optional): Address of the authorized reputation calculator -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"reddid": "reddid",
"overall_score": n,
"previous_score": n,
"last_calculated": timestamp,
"auth_address": "auth_address",
"updated": true
}
Example:
reddcoin-cli updateuserreputation "alice" '{"overall_score":75.5,"engagement_score":80.0}'
reddcoin-cli updateuserreputation "alice" '{"overall_score":75.5,"engagement_score":80.0}' "rX1qw9lfdjhn37..."
Calculates or recalculates reputation for a user based on their activity and profile.
Parameters:
-
reddid
(string, required): The ReddID to calculate reputation for -
force
(boolean, optional, default=false): Force recalculation even if recently updated -
account
(string, optional): The account to use for HD wallets -
address_type
(string, optional): The address type to use (legacy, p2sh-segwit, bech32) -
label
(string, optional): A label for the address (HD wallet)
Result:
{
"reddid": "reddid",
"overall_score": n,
"previous_score": n,
"longevity_score": n,
"transaction_score": n,
"engagement_score": n,
"verification_score": n,
"auction_score": n,
"last_calculated": timestamp,
"calculator_address": "calculator_address",
"recalculated": true|false
}
Example:
reddcoin-cli calculateuserreputation "alice"
reddcoin-cli calculateuserreputation "alice" true
Gets reputation history for a specific ReddID.
Parameters:
-
reddid
(string, required): The ReddID to get reputation history for -
count
(numeric, optional, default=10): Number of historical entries to retrieve -
start_time
(numeric, optional, default=current time): Start time as Unix timestamp
Result:
{
"reddid": "reddid",
"current_score": n,
"history": [
{
"timestamp": timestamp,
"overall_score": n,
"longevity_score": n,
"transaction_score": n,
"engagement_score": n,
"verification_score": n,
"auction_score": n,
"calculator_signatures": "signature_count"
},
...
]
}
Example:
reddcoin-cli getuserreputationhistory "alice"
reddcoin-cli getuserreputationhistory "alice" 20
reddcoin-cli getuserreputationhistory "alice" 20 1703721600
The ReddID RPC commands are organized in a hierarchical structure that mirrors the design of the system:
- Namespace Operations: Create and configure the foundation
- User ID Operations: Manage identifiers within namespaces
- Profile/ReddID Operations: Handle cross-namespace identity and social features
- User IDs cannot be created in a namespace until that namespace exists
- ReddID social connections require both source and target ReddIDs to exist
- Configuration operations require ownership of the resources being configured
- Auction finalization requires the auction to have ended
- Create an auction using the appropriate command
- Place bids using the bid commands
- Monitor auction status during the auction period
- Finalize the auction after it has ended
- For the winner, manage the acquired resource
- Namespace and User ID queries are generally lightweight
- Reputation calculations can be more resource-intensive
- For high-volume operations, batch requests when possible
- Cache results when appropriate to reduce load
- Always verify ownership before performing management operations
- Use secure wallet practices when signing transactions
- For management interfaces, implement proper permission controls
- Monitor auction activity for patterns of abuse
For applications integrating with the ReddID system:
- Identity Verification: Use ReddID reputation as a trust metric
- User Authentication: Build login systems using ReddID ownership verification
- Social Applications: Leverage the social graph features for friend discovery
- Marketplace Applications: Use the auction system for transparent price discovery