Skip to content

Commit fa29729

Browse files
committedApr 14, 2018
various small edits to dapps
1 parent a635a3f commit fa29729

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed
 

‎dapps.asciidoc

+11-11
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ Unlike a traditional application, a Decentralized Application (DApp) does not be
1212

1313
A typical DApp stack would consist of Front-end, Back-end and Data Storage. There are many advantages to creating a DApp that a typical centralized architecture could not provide:
1414

15-
1) Resiliency: Having the business logic written on a smart contract means that a DApp backend will be fully distributed and managed on the Blockchain. Unlike deploying an application on a centralized server, a DApp will have no downtime and will continue to persist as long as the Blockchain is still operating.
15+
1) Resiliency: Having the business-logic written on a smart contract means that a DApp backend will be fully distributed and managed on the Blockchain. Unlike deploying an application on a centralized server, a DApp will have no downtime and will continue to persist as long as the Blockchain is still operating.
1616

17-
2) Transparency: The open source nature of a DApp allows anybody to fork the code and have the same application running on the Blockchain. On the same note, any interaction with the Blockchain will be stored forever and anyone with a copy of the Blockchain can gain access to it. Notice that it may not be possible to de-compile the bytecodes into source and fully understand the contract's code. Developers who seek to offer full transparency about the contract behavior must publish the source code for users to read, compile and verify.
17+
2) Transparency: The open source nature of a DApp allows anyone to fork the code and have the same application running on the Blockchain. On the same note, any interaction with the Blockchain will be stored forever and anyone with a copy of the Blockchain can gain access to it. It’s worth noting that it may not be possible to de-compile the bytecodes into source and fully understand the contract's code. Developers who seek to offer full transparency about the contract behavior must publish the source code for users to read, compile and verify.
1818

19-
3) Censorship Resistance: As long as a user has access to an Ethereum node, he/she will always be able to interact with a DApp without interference from a centralized control. No service provider or even the owner of the smart contract could alter the code once it is deployed on the network.
19+
3) Censorship Resistance: As long as a user has access to an Ethereum node, the user will always be able to interact with a DApp without interference from a centralized control. No service provider, or even the owner of the smart contract, could alter the code once it is deployed on the network.
2020

2121
[[components_of_a_dapp_sec]]
2222
=== Components of a DApp
@@ -28,18 +28,18 @@ TODO: add paragraph
2828
[[blockchain_smart_contracts_sec]]
2929
==== Blockchain (Smart Contracts)
3030

31-
The smart contract is used to store the business logic, the state and the computation of your decentralized application, think of it as a server side component in a regular application.
31+
The smart contract is used to store the business logic, the state and the computation of your decentralized application; think of a smart contract as a server-side component in a regular application.
3232

33-
One advantage of deploying server side logic on Ethereum smart contracts is that you could build a more complex architecture where a smart contract could read and write data off one another. After deploying your smart contract, your business logic could well be used by many other developers in the future, without ever requiring you to manage and maintain the code.
33+
One advantage of deploying server-side logic on Ethereum smart contracts is that you could build a more complex architecture in which a smart contract could read and write data off one another. After deploying your smart contract, your business logic could well be used by many other developers in the future, without ever requiring you to manage and maintain the code.
3434

3535
One major problem of running smart contract as core business logic functionality is the inability to change the code once it is deployed. Furthermore a really large monolithic smart contract may cost a lot of gas to deploy and function. Therefore some applications may choose to have off chain computation and external data source. Keep in mind however, that having core business logic of the DApp be dependent on external data or server would mean your users will have to trust these externalities.
3636

3737
[[front_end_web_ui_cec]]
3838
==== Front end (Web User Interface (UI))
3939

40-
Unlike the business logic of the DApp that requires a developer to understand EVM and new languages such as Solidity, the client side interface of a DApp uses basic web front end technologies (HTML, CSS, JavaScript). This allows a regular web developer to utilize tools, libraries and frameworks they are used to. Interactions with the DApp such as signing messages, sending transactions and key management are often done through the browser itself using tools such as Mist browser or the Metamask browser extension.
40+
Unlike the business logic of the DApp that requires a developer to understand EVM and new languages such as Solidity, the client side interface of a DApp uses basic web front end technologies (HTML, CSS, JavaScript). This allows a traditional web developer to utilize the tools, libraries and frameworks they are familiar with using on a regular basis. Interactions with the DApp such as signing messages, sending transactions and key management are often conducted through the browser itself using tools such as Mist browser or the Metamask browser extension.
4141

42-
Although it is possible to create a mobile DApp as well, currently there are no best practices to create mobile DApps front-ends due to the lack of mobile clients that can serve as a light client with key management functionality.
42+
Although it is possible to create a mobile DApp as well, currently there are no best practices to create mobile DApp front-ends due to the lack of mobile clients that can serve as a light client with key management functionality.
4343

4444
[[data_storage_sec]]
4545
==== Data storage
@@ -49,7 +49,7 @@ Due to high gas costs, smart contracts are currently not suited to store large a
4949
The hashes of the content are often stored as bytes within the smart contract, using key value mapping. The asset would then be retrieved through your front end applications calling on the smart contract for urls of each asset.
5050

5151
[[on_chain_vs_off_chain_data_sec]]
52-
===== On chain vs. off chain
52+
===== On chain vs. off chain
5353

5454
////
5555
TODO: add paragraph
@@ -109,7 +109,7 @@ https://github.com/ethereum/wiki/wiki/Whisper-Overview
109109
[[dapp_frameworks_sec]]
110110
=== DApp frameworks
111111

112-
There are many different Development frameworks and libraries written in many languages which allows for better Developer experience in creating and deploying a DApp.
112+
There are many different Development frameworks and libraries written in many languages which allows for better developer experience in creating and deploying a DApp.
113113

114114
[[truffle_sec]]
115115
==== Truffle
@@ -147,15 +147,15 @@ With Embark you can:
147147
* Easily manage complex systems of interdependent contracts.
148148

149149
** Decentralized storage (IPFS)
150-
* Easily store & retrieve data on the DApp through EmbarkJS. Including uploading and retrieving files.
150+
* Easily store & retrieve data on the DApp through EmbarkJS, including uploading and retrieving files.
151151
* Deploy the full application to IPFS or Swarm.
152152

153153

154154
** Decentralized Communication (Whisper, Orbit)
155155
* Easily send/receive messages through channels in P2P through Whisper or Orbit.
156156

157157
** Web Technologies
158-
* Integrate with any web technology including React, Foundation, etc..
158+
* Integrate with any web technology including React, Foundation, etc.
159159
* Use any build pipeline or tool you wish, including grunt, gulp and webpack.
160160

161161
Getting started & documentation; https://embark.readthedocs.io

0 commit comments

Comments
 (0)
Please sign in to comment.