├── .eslintignore ├── babel.config.js ├── public ├── favicon.ico ├── simple.sol ├── index.html ├── network.json ├── contracts.json └── ERC20.sol ├── src ├── assets │ ├── logo.png │ ├── icon │ │ ├── block.png │ │ ├── peer.png │ │ ├── compile@3x.png │ │ ├── contract.png │ │ ├── peer_small.png │ │ ├── run_small.png │ │ ├── block_small.png │ │ ├── trans_small.png │ │ └── transaction.png │ └── status_bar_prograss.png ├── router │ ├── index.js │ └── routes.js ├── language │ ├── index.js │ └── lib │ │ ├── sc.json │ │ └── en.json ├── api-config │ └── index.js ├── main.js ├── components │ ├── common │ │ ├── gui │ │ │ ├── InputString.vue │ │ │ ├── InterfaceInput.js │ │ │ ├── InputAny.vue │ │ │ ├── Loading.vue │ │ │ ├── InputBool.vue │ │ │ ├── InputAddress.vue │ │ │ ├── InputByte.vue │ │ │ └── InputUint.vue │ │ ├── svg │ │ │ ├── copy.vue │ │ │ └── compile.vue │ │ ├── function │ │ │ ├── Help.vue │ │ │ ├── Notice.vue │ │ │ ├── Selector.vue │ │ │ ├── SigninAccount.vue │ │ │ ├── SetTxConfig.vue │ │ │ └── CreateAccount.vue │ │ └── logs │ │ │ ├── TxLog.vue │ │ │ └── CreationLog.vue │ ├── Log.vue │ ├── Hello.vue │ ├── Chain.vue │ ├── Transfer.vue │ ├── Interact.vue │ └── Deploy.vue ├── store │ ├── modules │ │ ├── eth.js │ │ ├── accounts.js │ │ ├── log.js │ │ └── indexdb.js │ └── index.js ├── style.styl └── App.vue ├── .gitignore ├── vue.config.js ├── README.md ├── package.json └── server └── index.js /.eslintignore: -------------------------------------------------------------------------------- 1 | public/**/*.js 2 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/logo.png -------------------------------------------------------------------------------- /src/assets/icon/block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/icon/block.png -------------------------------------------------------------------------------- /src/assets/icon/peer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/icon/peer.png -------------------------------------------------------------------------------- /src/assets/icon/compile@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/icon/compile@3x.png -------------------------------------------------------------------------------- /src/assets/icon/contract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/icon/contract.png -------------------------------------------------------------------------------- /src/assets/icon/peer_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/icon/peer_small.png -------------------------------------------------------------------------------- /src/assets/icon/run_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/icon/run_small.png -------------------------------------------------------------------------------- /src/assets/icon/block_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/icon/block_small.png -------------------------------------------------------------------------------- /src/assets/icon/trans_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/icon/trans_small.png -------------------------------------------------------------------------------- /src/assets/icon/transaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/icon/transaction.png -------------------------------------------------------------------------------- /src/assets/status_bar_prograss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/truechain/truechain-stellar/HEAD/src/assets/status_bar_prograss.png -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Router from 'vue-router' 3 | 4 | import routes from './routes.js' 5 | 6 | Vue.use(Router) 7 | 8 | export default new Router({ 9 | routes 10 | }) 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | eth/ 4 | dist/ 5 | npm-debug.log* 6 | yarn-debug.log* 7 | yarn-error.log* 8 | # package-lock.json* 9 | 10 | # Editor directories and files 11 | .idea 12 | .vscode 13 | *.suo 14 | *.ntvs* 15 | *.njsproj 16 | *.sln 17 | 18 | nohup.out* 19 | -------------------------------------------------------------------------------- /src/language/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueI18n from 'vue-i18n' 3 | 4 | import en from './lib/en.json' 5 | import sc from './lib/sc.json' 6 | 7 | Vue.use(VueI18n) 8 | 9 | const i18n = new VueI18n({ 10 | locale: 'sc', 11 | messages: { 12 | en, 13 | sc 14 | } 15 | }) 16 | 17 | export default i18n 18 | -------------------------------------------------------------------------------- /src/api-config/index.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | 3 | const URL = process.env.NODE_ENV === 'production' 4 | ? 'https://stellar.truechain.pro/ethserver' 5 | : 'http://localhost:3000' 6 | 7 | export default { 8 | compile (source, version) { 9 | const data = { 10 | source, 11 | version 12 | } 13 | return axios.post(`${URL}/compile`, data) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /public/simple.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.5.0; 2 | 3 | contract SimpleStorage { 4 | uint storedData; 5 | 6 | constructor (uint x) public { 7 | storedData = x; 8 | } 9 | 10 | function set(uint x) public { 11 | require(x < 100, "Not enough Ether provided."); 12 | storedData = x; 13 | } 14 | 15 | function get() public view returns (uint) { 16 | return storedData; 17 | } 18 | } -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | function resolve (dir) { 3 | return path.join(__dirname, dir) 4 | } 5 | 6 | module.exports = { 7 | publicPath: './', 8 | lintOnSave: false, 9 | chainWebpack: (config)=>{ 10 | config.resolve.alias 11 | .set('svg-icon', resolve('src/components/common/svg')) 12 | .set('common', resolve('src/components/common')) 13 | .set('static', resolve('public')) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import { mapMutations } from 'vuex' 3 | import App from './App' 4 | import router from './router' 5 | import store from './store' 6 | import i18n from './language' 7 | import './style.styl' 8 | 9 | Vue.config.productionTip = false 10 | 11 | new Vue({ 12 | router, 13 | store, 14 | i18n, 15 | methods: { 16 | ...mapMutations([ 17 | 'initI18n' 18 | ]) 19 | }, 20 | created () { 21 | this.initI18n(i18n) 22 | this.$store.dispatch('initDB') 23 | }, 24 | render: h => h(App) 25 | }).$mount('#app') 26 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 |{{ $t('Hello.welcome') }}
7 | 8 |12 | {{ $t('GreenBelt.download') }} 13 |
14 |{{item.name}}
7 |{{item.value}}
8 |Recent Block
16 || ID | 25 |Hash | 26 |Transactions | 27 |Creating Time | 28 |
|---|---|---|---|
| {{item.id}} | 31 |{{item.hash}} | 32 |{{item.trans}} | 33 |{{item.time}} | 34 |
Recent Transaction
46 || Transaction Content | 53 |Creating Time | 54 |
|---|---|
| {{item.hash}} | 57 |{{item.time}} | 58 |
{{passwordCheckMsg}}
8 |{{repeatCheckMsg}}
16 |{{address}}
32 |To
8 |Value
10 |Blance
14 |{{ $t('Interact.contract') }}
8 |{{ $t('Interact.address') }}
16 | 22 |{{ $t('Interact.api') }}
25 | 35 |{{ $t('Interact.saveContract') }}
37 |{{ $t('Interact.interface') }}
49 |{{ $t('Deploy.solSourceCode') }}
17 | 22 |{{ $t('Deploy.compiled') }}
45 | 53 |{{ $t('Deploy.interface') }}
54 | 62 |{{ $t('Deploy.constructor') }}
67 |