EVA

所属分类:matlab编程
开发工具:matlab
文件大小:0KB
下载次数:6
上传日期:2022-08-31 20:39:00
上 传 者sh-1993
说明:  EVA:使用区块链的公平和可审计电动汽车充电服务
(EVA: Fair and Auditable Electric Vehicle Charging Service using Blockchain)

文件列表:
LICENSE (11357, 2018-07-17)
evadmm/ (0, 2018-07-17)
evadmm/evadmm_ethereum_bridge.js (10423, 2018-07-17)
evadmm/evadmm_schedule.js (280, 2018-07-17)
evadmm/matlab/ (0, 2018-07-17)
evadmm/matlab/EvAdmmWebSocketServer.m (1709, 2018-07-17)
evadmm/matlab/StartEvAdmmServer.m (38, 2018-07-17)
evadmm/matlab/agr_params.mat (1355, 2018-07-17)
evadmm/matlab/evadmm.m (1331, 2018-07-17)
evadmm/matlab/matlabwebsocket/ (0, 2018-07-17)
evadmm/matlab/matlabwebsocket/WebSocketClient.m (5883, 2018-07-17)
evadmm/matlab/matlabwebsocket/WebSocketConnection.m (2796, 2018-07-17)
evadmm/matlab/matlabwebsocket/WebSocketServer.m (7722, 2018-07-17)
evadmm/matlab/matlabwebsocket/matlab-websocket-1.4.jar (119471, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/ (0, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/ (0, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/ (0, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/io/ (0, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/io/github/ (0, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/io/github/jebej/ (0, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/io/github/jebej/matlabwebsocket/ (0, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/io/github/jebej/matlabwebsocket/MatlabEvent.java (1184, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/io/github/jebej/matlabwebsocket/MatlabListener.java (434, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/io/github/jebej/matlabwebsocket/MatlabWebSocketClient.java (2727, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/io/github/jebej/matlabwebsocket/MatlabWebSocketSSLClient.java (2129, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/io/github/jebej/matlabwebsocket/MatlabWebSocketSSLServer.java (1588, 2018-07-17)
evadmm/matlab/matlabwebsocket/src/main/java/io/github/jebej/matlabwebsocket/MatlabWebSocketServer.java (5127, 2018-07-17)
evadmm/matlab/yalmip/ (0, 2018-07-17)
evadmm/matlab/yalmip/@sdpvar/ (0, 2018-07-17)
evadmm/matlab/yalmip/@sdpvar/abs.m (2681, 2018-07-17)
evadmm/matlab/yalmip/@sdpvar/accumarray.m (334, 2018-07-17)
evadmm/matlab/yalmip/@sdpvar/acos.m (419, 2018-07-17)
evadmm/matlab/yalmip/@sdpvar/acosh.m (716, 2018-07-17)
evadmm/matlab/yalmip/@sdpvar/acot.m (807, 2018-07-17)
evadmm/matlab/yalmip/@sdpvar/addfactors.m (2573, 2018-07-17)
evadmm/matlab/yalmip/@sdpvar/addgkyp.m (791, 2018-07-17)
evadmm/matlab/yalmip/@sdpvar/addleftfactor.m (456, 2018-07-17)
evadmm/matlab/yalmip/@sdpvar/addrightfactor.m (458, 2018-07-17)
... ...

# EVA: Fair and Auditable Electric Vehicle Charging Service using Blockchain ## Description A prototypic implementation of EVA as part of my Master's Thesis. Please find the publication here: [EVA: Fair and Auditable Electric Vehicle Charging Service using Blockchain](https://dl.acm.org/citation.cfm?id=3219776) ## Build Instructions To build and run the prototype, you need Node.js, Matlab (with Optimization Toolbox) and an Infura API Key (https://infura.io) ### Smart Contract * Put your Infura API Key at `` in `smart_contracts/truffle.js` * cd into `smart_contracts` directory * `npm install` * `truffle compile` * `truffle migrate --reset --network ropsten` * Note the `address` where truffle deployed the contract and the ABI (in `smart_contracts/build/contracts/Aggregator.json`) for later ### EV ADMM #### Pt. 1: Matlab * Start Matlab * Add MatlabWebSocket to Java Classpath * Execute command `edit(fullfile(prefdir,'javaclasspath.txt'))` * Add a new line with the path to `evadmm/matlab/matlabwebsocket/matlab-websocket-1.4.jar` * Save and restart Matlab * In Matlab, add the `evadmm/matlab` folder including all subfolders to the current Matlab path * Run `StartEvAdmmServer.m` #### Pt.2 Ethereum Bridge * Put your Infura API Key at `` in `evadmm/evadmm_ethereum_bridge.js` * Update the variables `aggregatorContractABI` and `aggregatorContract` in `evadmm/evadmm_ethereum_bridge.js` according to the results from compilation & deployment * cd into `evadmm` directory * `npm install` * `node evadmm_schedule.js` ### Frontend * Update the variables `aggregatorContractABI` and `aggregatorContract` in `frontend/index.js` according to the results from compilation & deployment * cd into `frontend` directory * `npm install http-server` * `http-server` * You can access the DApp using any DApp browser (e.g. MetaMask) on `http://localhost:8080` now * Alternative: Deploy files on any webserver ## Evaluation ### Preparation * Put your Infura API Key at `` in `evaluation/wallets.js` * Modify `evaluation/wallets.js` with test wallet mnemonics to your liking * Open a Node.js console, import the `wallets.js` module and fund your test wallets using the `fundWallets` function ### Experiment Design * Create a file `experiment..js in `evaluation` * Import the `simulation` module and override the `runExperiment` function with your designed experiment * For examples, take a look at `evaluation/experiment.eva_luation.js` ### Running the Evaluation * cd into `evaluation` * `npm install` * `node experiment..js -s ..csv`

近期下载者

相关文件


收藏者