This is a Decentralized Autonomous Organization built on the HIVE ecosystem. Customize it as you need
Powering: dlux.io (DLUX), and the 3speak.tv (SPK Claim Chain)
This software builds a network of peers that use HIVE to post and interpret transactions. This allows these peers to come to a consensus and elect peers to run tasks. Distributing computing in this way allows a vast amount of potential applications, DeFi, and oracle services. By distributing authority to perform transactions we can have a frictionless(no intermediate tokens, no central authority, no intrinsic fees) way to cross asset boundaries(HIVE/COMB) with no information asymmetries, ie Finance without securities by definition... just free speech: As no party is required to perfom any function, or prevented from performing any function, no promises are made by peers. Network Incentives (COMB) alone are enough to maintain trust.
Send: Use custom_json with active permission, "ACJ" to send OPEN_TOEK tokens
Illiquid voting state. Power up and down TOKEN for voting and delegation with ACJ
Illiquid governance token for determining consensus and collateral.
Hive posts that benefit the configured account at > the configured % are:
entered into a voting eligible content pool
optionally have their IPFS content pinned with rtrades(3rd party service)
can be programmed for any other function
Users can vote on content with weight, using custom json with posting permissions.
Have a daily pool of 10 full votes, and 1 in 10000 fine control of voting stake.
State is saved to IPFS every 5 minutes for fast automatic starts and restarts, also used to determine consensus
LevelDB with custom transactional handlers for transactional writes
JSON express server API
Token sales from the configured account with HIVE transfers
Token sales set with pricing feedback.
2/3rds consensus algorithm
automatic messaging to join network ad-hoc
ability to delete node from list(turn off escrow queue)
report consensus
distribute TOKENS to configured account delegators and keep running total
Used for auto voting on content with delegation
pay nodes for processing trusted state, facilitating an escrow/dex transaction or running a smart contract.
Effectively mining TOKENS with Hive Resource Credits
establishes a 5%(configurable) inflation rate and distributes rewards to run the network
Automated accounting post from configured account or mirrors
Track interactions on a rolling feed via block_num and TXID.
Automates IPFS pinning for OPEN_TOKEN votable content from configured account or mirrors
2 way DEX
HIVE:OPEN_TOKEN & HBD:OPEN_TOKEN pairs
On state trade history with daily reductions to high/low/volume
Price/collateral controls from Volume Weighted Moving Average
Enforcement of collateral
Partial fills of DEX orders 1.0.0
Multi-signature deterministic control of community capital
NFT/smart contract system
This software is meant to be run as a public API for decentralized token data.
While it runs it verifies other nodes are operating correctly and confirms this by posting a customJson transaction to Hive. 288(configurable) messages will be required per day per node operator. More Resource Credits will be required to handle escrow transactions and transfers.
Deploy from heroku or similar and set ENV variables with a hive name and active key. Deploy from home computer for maximum account security.
account - dlux-io
active - active posting key (will run escrow transactions for rewards) !! caution while in testing !!
domain - https://<token-api>.<a-domain>.com or http://<static-ip>:<port>
Running A Node
Prerequisites
This software has been tested on Node.js version 10 through 15
Node.js and git are required
Server Installation
Detailed Instructions also at /docs/setup.md
Which include Docker and IPFS linking
Then alter the state.js with balances and other starting information
Fungible Token and Non-Fungible Token (NFT) Operations
DLUX offers a decentralized protocol for minting and trading NFT's. These tokens can be minted, auctioned, transferred, sold, bought, held in escrow, bid on, or deleted.
Actions Available
NFT (non-fungible token) Actions
NFT Transfer (id: dlux_nft_transfer)
This action transfers an NFT from one wallet to another.
params:
set = string representing the name of the NFT set
uid = string representing the unique ID of the NFT to be transferred
to = string representing the wallet to receive the transfer
example:
json:{ set: 'dlux', uid: 'aa', to: 'somebody' }
NFT Reserve Transfer (id: dlux_nft_reserve_transfer)
This action builds a token escrow contract with payment price and expiration. Seller uses this action to create a contract for specific wallet to pay for and receive the NFT. As opposed to listing it publicly on the market which would allow any buyer to buy the token.
params:
set = string representing the name of the NFT set
uid = string representing the unique ID of the NFT to be transferred
to = string representing the wallet to receive the transfer
price = integer representing price to complete the contract, with 3 precision.
This action fulfills an NFT escrow transfer via complete payment. Recipient of NFT uses this action to complete the contract and receive the NFT. If successfully, the price defined in the contract will be deducted from the wallet.
params:
set = string representing the name of the NFT set
uid = string representing the unique ID of the NFT to be transferred
example:
json:{ set: 'dlux', uid: 'aa' }
NFT Transfer Cancel (id: dlux_nft_transfer_cancel)
This action cancels an NFT transfer escrow contract.
params:
set = string representing the name of the NFT set
uid = string representing the unique ID of the NFT to be transferred
example:
json:{ set: 'dlux', uid: 'AA' }
NFT Delete (id: dlux_nft_delete)
This action will permanently delete an NFT. Cannot be undone. Changes NFT's owner to D.
params:
set = string representing the name of the NFT set
uid = string representing the unique ID of the NFT to be transferred
example:
json:{ set: 'dlux', uid: 'AA' }
NFT Define (id: dlux_nft_define)
This action defines a new NFT set.
params:
name = string
type = integer
script = string. see below example.
permlink = string representing Hive content permlink pointing to NFT set announcement post
start = string. Base-64 encoded, controls how many editions can be minted for this set
end = string. Base-64 encoded, controls how many editions can be minted for this set.
royalty = integer
handling = string
max_fee = integer
bond = integer representing a burn value that can be preloaded into the contract
example:
json: { "name":"dlux", "type": 1, "script": "QmPsxgySUZibuojuUWCMQJpT2uZhijY4Cf7tuJKR8gpZqq", // see example below "permlink": "disregardfiat/nft-announcement", "start": "00", "end": "==", // 4,096 unique mints for this set "royalty": 100, "handling": "svg", "max_fee": 10000000, "bond": 1000, //A burn value that can be preloaded into the contract }
The script should return:
{HTML:SVG, attributes:[{name:'Color 1', value: uColors[0]},{name:'Color 2', value: uColors[1]},{name:'Color 3', value: uColors[2]}], sealed:''} HTML, which may include Base64 Imgs, GTLF, etc... plus an array of attributes, and optionally a sealed picture
NFT Mint (id: dlux_nft_mint)
This action mints a new NFT
params:
set = string representing the name of the NFT set
example:
json:{ set: "dlux" }
NFT Auction (id: dlux_nft_auction)
This action lists an NFT for auction on the market. Temporarily changes owner to 'ah'.
params:
set = string representing the name of the NFT set
uid = string representing the unique ID of the NFT to be transferred
price = integer with 3 precision represent the starting price
now = integer representing 'buy it now' price. Not implemented.
time = integer representing the number of days before auction is closed
example:
json:{ set: 'dlux', uid: 'AA', price: 1000, // 1.000 DLUX now: 10000, // not implemented time: 7 //integer days }
NFT Auction bidding (id: dlux_nft_bid)
This action makes a bid for an active NFT action
params:
set = string representing the name of the NFT set
uid = string representing the unique ID of the NFT to be transferred
bid_amount = integer representing amount to bid, with 3 precision. i.e. to bid 10.000 tokens, use 10000.
example:
json:{ set: 'dlux', uid: 'AA', bid_amount: 1000 }
NFT Sell (id: dlux_nft_sell)
This lists an NFT for sale on the market.
params:
set = string representing the name of the NFT set
uid = string representing the unique ID of the NFT to be transferred
price = integer representing amount to sell the NFT for, with 3 precision. i.e. to list for 10.000 tokens, use 10000. Default value = 1000.
uid = string representing the unique ID of the NFT to be transferred
example:
json:{ set: 'dlux', uid: 'AA' }
FT (fungible token) Actions
Similar to NFTs, DLUX offers a decentralized protocol for creating and trading NFT's. These tokens can be airdropped, auctioned, transferred, sold, bought, held in escrow, or bid on.
FT Transfer (id: dlux_ft_transfer)
This action transfers a FT from wallet to wallet.
params:
set = string representing the name of the NFT set
to = string representing wallet to transfer to
example:
json:{ set: 'dlux', to: 'somebody' }
FT Airdrop (id: dlux_ft_airdrop)
This action airdrops tokens to a list of wallets.
params:
set = string representing the name of the NFT set
to = List of string representing wallet to airdrop to
example:
json:{ set: 'dlux', to: ['somebody','someother'] }
请发表评论