Is Solidity and the Javscript API Ready Enough for DApp Development?

SilentCiceroSilentCicero Toronto, CAMember Posts: 159 ✭✭✭
Are Solidity and the Javascript API finished enough to start building my DApp's with or should I wait?

Can I still use Serpent, or is Solidity what I should be using going forward?

Side Note Questions: For registration style DApp's, say a Company Registration DApp. How will the string data (of say a company name or ticker symbol) be stored? I assume in Swarm and not in contract BC storage? If I started a Company Registration Contract, could I design the DApp so that companies registering pay for their storage and upkeep costs of their data and not me or the contract creator?


Cheers

Comments

  • BitcoinzieBitcoinzie Member Posts: 73 ✭✭
    edited January 2015
    The Idea of a DApp is for your user to control their data, thus not having you lord over it. But if you must you can create an account for everyone and charge a fee. But the idea is you write the DApp sell it, or write in a small fee or both. The users then send funds to the DApps account(s) as needed. If we were running peoples DApps may as well just be web 2 ;)

    Edit: I guess in your case it requires some lording, but maybe consider another contract for automating all the costs. Like maybe each registration gets it's own account assigned and a dapp the users installs to alert when they need to replenish the account. Push all the cost off to the users for storage and maintenance.
  • BitcoinzieBitcoinzie Member Posts: 73 ✭✭
    As far as the list goes.. You'd use swarm or some torrent client magnet link.. that's the trick i haven't figured out quite yet
  • StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
    @SilentCicero‌, definitely use Solidity moving forward, but Serpent 2.0 for now when prototyping until the compiler in AZ has stabilised a bit.
  • StephanTualStephanTual London, EnglandMember, Moderator Posts: 1,282 mod
    Also, regarding your storage question, you'd only store what requires consensus in the chain, and the rest in a decentralized storage layer like webtorrent (or swarm when it goes alpha). So, at the risk of oversimplifying: consensus (state) data in the chain, messaging via whisper, and magnetlinks to dapp assets in chain pointing to swarm/torrent.
  • SilentCiceroSilentCicero Toronto, CAMember Posts: 159 ✭✭✭
    So as for consensus data, say a 32 bit string company name. If the registry is getting consensus on who owns what company name, then the (string of the) company name would have to be stored in the chain, am I right in believing this? This is my understanding presently.

    If so, small strings are stored in the chain. My next question is where. Are the strings stored in the transaction they were sent in the block that transaction resides, or are they stored somehow in the contract I'm interacting with a few blocks back? My natural inclination is to say that they are stored in the transaction data in the block that transaction resides, and when I interact with the contract to say, retrieve registration data, I'm actually working through the chain my node has access to, in order to determine what data has been stored in the contract and what should be returned. Is this correct?

    What happens when I'm using the Javascript API, for example, and I get contract storage data. Am I actually parsing and indexing through the entirety of the chain to get this data, or is it somehow stored in the actual contract's block, and the transactions sent to the contract only a marker of consensus not a data store?

    @Bitcoinzie while a name registry may not be a DApp, I think doing global registries on the block chain would be useful. Why let ICANN, for example, have all the fun for domain names. Am I wrong in thinking this? It seems like the BC would be the perfect place for this sort of thing (i.e. like a namecoin deal).
  • BitcoinzieBitcoinzie Member Posts: 73 ✭✭
    @SilentCicero‌ That's what I was trying to address in my edit, but it was at 1:32 am here and my brain stops working right at 1:30.

    Also, regarding your storage question, you'd only store what requires consensus in the chain, and the rest in a decentralized storage layer like webtorrent (or swarm when it goes alpha). So, at the risk of oversimplifying: consensus (state) data in the chain, messaging via whisper, and magnetlinks to dapp assets in chain pointing to swarm/torrent.

    @StephanTual‌ put it how I would have liked too.

Sign In or Register to comment.