You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+41-29Lines changed: 41 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
-
[](https://gitter.im/iurimatias/embark-framework?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Embark is a framework that allows you to easily develop and deploy Decentralized Applications (DApps).
10
11
11
-
A Decentralized Application is serverless html5 application that uses one or more decentralized technologies.
12
+
A Decentralized Application is a serverless html5 application that uses one or more decentralized technologies.
12
13
13
-
Embark currently integrates with EVM blockchains (Ethereum), Decentralized Storages (IPFS), and Decentralizaed communication platforms (Whisper and Orbit). Swarm is supported for deployment.
14
+
Embark currently integrates with EVM blockchains (Ethereum), Decentralized Storages (IPFS), and Decentralized communication platforms (Whisper and Orbit). Swarm is supported for deployment.
14
15
15
16
With Embark you can:
16
17
17
18
**Blockchain (Ethereum)**
18
19
* Automatically deploy contracts and make them available in your JS code. Embark watches for changes, and if you update a contract, Embark will automatically redeploy the contracts (if needed) and the dapp.
19
20
* Contracts are available in JS with Promises.
20
21
* Do Test Driven Development with Contracts using Javascript.
21
-
* Keep track of deployed contracts, deploy only when truly needed.
22
+
* Keep track of deployed contracts; deploy only when truly needed.
22
23
* Manage different chains (e.g testnet, private net, livenet)
23
24
* Easily manage complex systems of interdependent contracts.
24
25
25
26
**Decentralized Storage (IPFS)**
26
-
* Easily Store & Retrieve Data on the DApp through EmbarkJS. Includin uploading and retrieving files.
27
+
* Easily Store & Retrieve Data on the DApp through EmbarkJS. Including uploading and retrieving files.
27
28
* Deploy the full application to IPFS or Swarm.
28
29
29
30
@@ -41,20 +42,20 @@ Table of Contents
41
42
*[Dashboard](#dashboard)
42
43
*[Creating a new DApp](#creating-a-new-dapp)
43
44
*[Libraries and APIs available](#libraries-and-languages-available)
44
-
*[Using and Configuring Contracts](#dapp-structure)
45
+
*[Using and Configuring Contracts](#using-contracts)
45
46
*[EmbarkJS](#embarkjs)
46
47
*[EmbarkJS - Storage (IPFS)](#embarkjs---storage)
47
48
*[EmbarkJS - Communication (Whisper/Orbit)](#embarkjs---communication)
48
49
*[Testing Contracts](#tests)
49
50
*[Working with different chains](#working-with-different-chains)
See [Complete Installation Instructions](https://github.com/iurimatias/embark-framework/wiki/Installation).
69
70
70
71
71
-
**updating from embark 1**
72
+
**updating from Embark 1**
72
73
73
74
Embark's npm package has changed from ```embark-framework``` to ```embark```, this sometimes can create conflicts. To update first uninstall embark-framework 1 to avoid any conflicts. ```npm uninstall -g embark-framework``` then ```npm install -g embark```
74
75
@@ -96,7 +97,7 @@ Alternatively, to use an ethereum rpc simulator simply run:
96
97
$ embark simulator
97
98
```
98
99
99
-
By default embark blockchain will mine a minimum amount of ether and will only mine when new transactions come in. This is quite usefull to keep a low CPU. The option can be configured at ```config/blockchain.json```. Note that running a real node requires at least 2GB of free ram, please take this into account if running it in a VM.
100
+
By default Embark blockchain will mine a minimum amount of ether and will only mine when new transactions come in. This is quite useful to keep a low CPU. The option can be configured at ```config/blockchain.json```. Note that running a real node requires at least 2GB of free ram, please take this into account if running it in a VM.
100
101
101
102
Then, in another command line:
102
103
@@ -105,7 +106,7 @@ $ embark run
105
106
```
106
107
This will automatically deploy the contracts, update their JS bindings and deploy your DApp to a local server at http://localhost:8000
107
108
108
-
Note that if you update your code it will automatically be re-deployed, contracts included. There is no need to restart embark, refreshing the page on the browser will do.
109
+
Note that if you update your code, it will automatically be re-deployed, contracts included. There is no need to restart embark, refreshing the page on the browser will do.
109
110
110
111
Dashboard
111
112
=====
@@ -114,20 +115,20 @@ Embark 2 comes with a terminal dashboard.
114
115
115
116

116
117
117
-
The dashboard will tell you the state of your contracts, the enviroment you are using, and what embark is doing at the moment.
118
+
The dashboard will tell you the state of your contracts, the environment you are using, and what Embark is doing at the moment.
118
119
119
120
**available services**
120
121
121
-
Available Services will display the services available to your dapp in green, if one of these is down then it will be displayed in red.
122
+
Available Services will display the services available to your dapp in green. If a service is down, then it will be displayed in red.
122
123
123
124
**logs and console**
124
125
125
-
There is a console at the bottom which can be used to interact with contracts or with embark itself. type```help``` to see a list of available commands, more commands will be added with each version of Embark.
126
+
There is a console at the bottom which can be used to interact with contracts or with Embark itself. Type```help``` to see a list of available commands. More commands will be added with each version of Embark.
126
127
127
128
Creating a new DApp
128
129
======
129
130
130
-
If you want to create a blank new app.
131
+
If you want to create a blank new app:
131
132
132
133
```Bash
133
134
$ embark new AppName
@@ -144,13 +145,16 @@ DApp Structure
144
145
|___ css/
145
146
|___ js/
146
147
config/
147
-
|___ blockchain.json #environments configuration
148
-
|___ contracts.json #contracts configuration
148
+
|___ blockchain.json #rpc and blockchain configuration
Solidity/Serpent files in the contracts directory will automatically be deployed with embark run. Changes in any files will automatically be reflected in app, changes to contracts will result in a redeployment and update of their JS Bindings
157
+
Solidity/Serpent files in the contracts directory will automatically be deployed with Embark run. Changes in any files will automatically be reflected in app, changes to contracts will result in a redeployment and update of their JS Bindings
154
158
155
159
Libraries and languages available
156
160
======
@@ -223,7 +227,7 @@ If you are using multiple contracts, you can pass a reference to another contrac
223
227
"SimpleStorage": {
224
228
"args": [
225
229
100,
226
-
$MyStorage
230
+
"$MyStorage"
227
231
]
228
232
},
229
233
"MyStorage": {
@@ -233,7 +237,7 @@ If you are using multiple contracts, you can pass a reference to another contrac
233
237
},
234
238
"MyMainContract": {
235
239
"args": [
236
-
$SimpleStorage
240
+
"$SimpleStorage"
237
241
]
238
242
}
239
243
}
@@ -274,7 +278,7 @@ You can now deploy many instances of the same contract. e.g
274
278
...
275
279
```
276
280
277
-
Contracts addresses can be defined, If an address is defined the contract wouldn't be deployed but its defined address will be used instead.
281
+
Contracts addresses can be defined. If an address is defined, Embark uses the defined address instead of deploying the contract.
278
282
279
283
280
284
```Json
@@ -322,22 +326,28 @@ events:
322
326
Client side deployment will be automatically available in Embark for existing contracts:
Embark uses [Mocha](http://mochajs.org/) by default, but you can use any testing framework you want.
@@ -521,20 +533,20 @@ To deploy a dapp to SWARM, all you need to do is run a local SWARM node and then
521
533
Plugins
522
534
======
523
535
524
-
It's possible to extend Embarks functionality with plugins. For example the following is possible:
536
+
It's possible to extend Embark's functionality with plugins. For example, the following is possible:
525
537
526
538
* plugin to add support for es6, jsx, coffescript, etc (``embark.registerPipeline``)
527
539
* plugin to add standard contracts or a contract framework (``embark.registerContractConfiguration`` and ``embark.addContractFile``)
528
540
* plugin to make some contracts available in all environments for use by other contracts or the dapp itself e.g a Token, a DAO, ENS, etc.. (``embark.registerContractConfiguration`` and ``embark.addContractFile``)
529
-
* plugin to add a libraries such as react or boostrap (``embark.addFileToPipeline``)
541
+
* plugin to add a libraries such as react or bootstrap (``embark.addFileToPipeline``)
530
542
* plugin to specify a particular web3 initialization for special provider uses (``embark.registerClientWeb3Provider``)
531
543
* plugin to create a different contract wrapper (``embark.registerContractsGeneration``)
532
544
* plugin to add new console commands (``embark.registerConsoleCommand``)
533
545
* plugin to add support for another contract language such as viper, LLL, etc (``embark.registerCompiler``)
534
546
535
-
For more information on how to develop your own plugin please see the [plugin documentation](http://embark.readthedocs.io/en/latest/plugins.html)
547
+
For more information on how to develop your own plugin, please see the [plugin documentation](http://embark.readthedocs.io/en/latest/plugins.html)
536
548
537
549
Donations
538
550
======
539
551
540
-
If you like Embark please consider donating to 0x8811FdF0F988f0CD1B7E9DE252ABfA5b18c1cDb1
552
+
If you like Embark, please consider donating to 0x8811FdF0F988f0CD1B7E9DE252ABfA5b18c1cDb1
0 commit comments