-
Notifications
You must be signed in to change notification settings - Fork 3
Home
lakshmi kanth edited this page Dec 14, 2018
·
1 revision
Welcome to the DNSDapp wiki!
- Manage name registry on decentralized platform (ethereum)
- Buy/Sell via Bidding process for tamper-proof and best price mechanism
- Transfer funds (ether) via names (registered)
- Release names for a better price via bidding
- Checking the availability for a name
- Reserve a name if available, by sending a tx with amount of ether
- Release name by making it available (can be released only by their owners)
- Bid on names already taken (bids must be > original price)
- Owner of domain can change the ownership of the domain to the highest bidder
- Name can be used to send ether to its owner
- ethereum (ganache-cli)
- truffle
- nodeJS
- web3
- eslint
-
Bid DataModel:
- DataModel to store Bid Details for a given DNSName
- bidState in the model represents different states bid can stay in the workflow
- amount is the bidPrice made by Bidder
- owner is the address of the Bidder
contract DNSBid {
using DNSStates for DNSStates.BidStates;
DNSStates.BidStates public bidState;
bool public active;
uint public amount;
address public owner ;
}
-
Bid States:
- enum to hold the states that bid can go through in a Bid-Life cycle
enum BidStates {
BID_VOID,
BID_OPEN,
BID_ACCEPTED
}
-
Bid Registry:
-
A Container/Registry to hold all details/bids made for a given DNSName
-
Contains the storage for mappings:
- dnsBidMap : map to store all bids and respective bidder-addresses
- dnsBalanceMap : map to store the bidder-Address as key and bid-Price as Value
- bestBidder : Address of the Bidder whose bid was highest (indicative price)
//map to store all bids and respective bidder-address
mapping(address => DNSBid) public dnsBidMap;
// map Bidder to his/her value (address as key and ether as value)
mapping (address => uint) public dnsBalanceMap;
// winning bidder's address
address public bestBidder;
- Javascript Tests
- Solidity Tests (In-Progress)
- checkout source code
- navigate to source directory
- run npm install
- run truffle compile
- run truffle migrate
- run truffle test
Rinkeby Testnet (Infura) - Inprogress
- UI on ReactJS
- End to End tests
- Use security mechanisms to avoid Re-entry and other DApp based attacks