Vuejs-Eth vue: eth-vue A Truffle Box that provides everything you need to quickly build Ethereum dApps that have authentication features with Vue.js, including configuration for easy deployment to the Ropsten Network. It's also Gravatar-enabled.

Made in Nigeria

eth-vue Truffle Box: With Ganache Blockchain Option, Ropsten Network Configuration, and Gravatar access



eth-vue

This Truffle Box provides everything you need to quickly build Ethereum dApps that have authentication features with vue, including configuration for easy deployment to the Ropsten Network. It's also Gravatar-enabled. Connecting to a running Ganache blockchain network from Truffle is also possible -- for fast development and testing purposes.
Built on Truffle 4, eth-vue uses vuex for state management, vuex-persist for local storage of app state, and vue-router for routing. Authentication functionalities are handled by Smart Contracts running on the Ethereum blockchain.

With deployment configuration for the Ropsten Network, deployment to the remote test network doesn't have to be a pain anymore. It's now as simple as truffle migrate --network ropsten

If you have a running Ganache blockchain network, configuring with eth-vue will connect you immediately to the private blockchain. Visit the Ganache page for installation and startup instructions, install Ganache, and eth-vue will connect accordingly.

Simply unbox and start building your own dApp.

Installation

  • Install Truffle

      npm install -g truffle
    

NOTE: If unboxing DOkwufulueze/eth-vue had failed previously due to absence of node-gyp, simply run npm install --global node-gyp. Or if it failed due to a problem with an existing node-gyp, run node-gyp rebuild. Else ignore this note and move on to the next instruction.

  • Enter your development directory [eg. cd into a newly created eth-vue directory] and unbox DOkwufulueze/eth-vue

      truffle unbox DOkwufulueze/eth-vue
    

    Or clone this repository from GitHub and cd into the eth-vue directory:

      git clone https://github.com/DOkwufulueze/eth-vue.git
    

  • Configure your environment
    • Open the truffle.js file. You'll find the following:

      ...
      module.exports = {
        ...
        networks: {
          development: {
            host: "localhost",
            port: 8545, // This is the conventional port. If you're using the Ganache Blockchain, change port value to the Ganache default port 7545. If you're using Truffle develop network, change port value to 9545
            network_id: "*", // Match any network id. You may need to replace * with your network Id
            from: "", // Add your unlocked account within the double quotes
            gas: 4444444
          }
        }
      };
      

      Insert your unlocked account within the double-quotes of the from key

    • Open the src/util/constants.js file. You'll find the following:

      export const NETWORKS = {
        '1': 'Main Net',
        '2': 'Deprecated Morden test network',
        '3': 'Ropsten test network',
        '4': 'Rinkeby test network',
        '42': 'Kovan test network',
        '4447': 'Truffle Develop Network',
        '5777': 'Ganache Blockchain',
        '666': 'Daniel Private Blockchain' // This is a test private blockchain. You can change it to your own private blockchain if you have one.
      }
      
      export const APPROVED_NETWORK_ID = '3'
      ...
      

      The default network above is the Ropsten network [APPROVED_NETWORK_ID = '3'], but you can change this, as Ropsten was chosen for testing purpose only.
      If your choice network is on the list of NETWORKS but is not Ropsten, then change the value of APPROVED_NETWORK_ID to the ID of your choice network. For example, if one is to use the private Blockchain above ['666': 'Daniel Private Blockchain'], then APPROVED_NETWORK_ID would be '666'.
      But if your choice network is not on the NETWORKS list, simply add your network using the existing pattern [<networkId>: <networkName>], and change the value of APPROVED_NETWORK_ID to the ID of your choice network.
      If you're using Ganache, please remember to point your Ethereum provider [Metamask, for example] to a Custom RPC running on port 7545.
      For Truffle develop network, point your Ethereum provider [Metamask, for example] to a Custom RPC running on port 9545.


  • Install npm dependencies if necessary.

    NOTE: If you unboxed this boilerplate from Truffle [truffle unbox DOkwufulueze/eth-vue], then running npm install is not necessary since unboxing runs npm install by default. But if you cloned this boilerplate from GitHub [git clone https://github.com/DOkwufulueze/eth-vue.git], please run npm install as stated below.
      npm install
    

Compilation and Migration

To deploy the contracts, you can either compile and migrate to your custom network as configured in the truffle.js file or you could use the test network and test addresses that truffle 4 provides. Find details for both deployment processes below.

Compile and Migrate to your custom network as configured in truffle.js. [For the Ganache Blockchain, it runs on port 7545 and doesn't conflict with any conventional port. So edit your truffle.js file appropriately before deploying]

  • Compile the Contracts [remember to add the --network ropsten option if you didn't change the APPROVED_NETWORK_ID in src/util/constants.js from the default 3 to another id]

      truffle compile
    

  • Deploy the compiled contracts [remember to add the --network ropsten option if you didn't change the APPROVED_NETWORK_ID in src/util/constants.js from the default 3 to another id]

      truffle migrate
    

Compile and Migrate to the Ropsten test network [this is very straightforward]

  • Compile the Contracts on Ropsten

      truffle compile --network ropsten
    

  • Deploy the compiled Contracts to Ropsten

      truffle migrate --network ropsten
    

Compile and Migrate using the truffle develop environment


The default port for truffle develop is 9545, so it doesn't conflict with any conventional port. Edit truffle.js appropriately.

  • Enter the truffle develop environment

      truffle develop
    

  • Compile the Contracts

      compile
    

  • Deploy the compiled contracts

      migrate
    

Launch the dApp

  • Start the server

      npm run start
    

  • Open your browser and enter the following:

      localhost:3001
    

And that's it, you're DONE!



Please send bug issues you may encounter to Issues



Copyleft

Copyleft 2017 Daniel Okwufulueze

Licence

This dApp is distributed under the GNU GPL-3.0 licence.

Comments

  • Development issue
    Development issue

    Aug 4, 2018

    Hi, i'm using the amazing framework,but i couldn't to getting a event of solidity in VUE,for example: PlaygroudBattle.sol contract PlaygroundBattle is Destructible { address public dbAddress;

    event won(bool status,uint amount);
    

    }

    The problem is: How should i to do for using "event won() " in DOkwufulueze/eth-vue framework in VUE?

    Reply
  • Connecting to other networks
    Connecting to other networks

    Mar 28, 2021

    Hi could i please find out how to connect to other chains like polygon(Matic), BSC or xDai?

    Reply
  • Vue Devtool
    Vue Devtool

    Sep 14, 2021

    How can we enable the vue DEVTOOL ?

    Reply
  • UnhandledPromiseRejectionWarning
    UnhandledPromiseRejectionWarning

    Sep 1, 2018

    Hello, I faced this error when entering "truffle compile" in the terminal.

    screen shot 2018-09-01 at 11 29 36 pm

    Reply
  • Too much errors while compiling
    Too much errors while compiling

    Feb 13, 2019

    Hi guys,

    I cannot compile the smart contracts due to the errors. Anyone has solutions pls :( image

    Reply
  • getWeb3.js  read properth 'isListening' of undefined
    getWeb3.js read properth 'isListening' of undefined

    Jul 25, 2019

    image Got an error on Mac Chrome as shown in the attachment.

    Reply
  • Update Mutations.js
    Update Mutations.js

    May 28, 2021

    I believe this line needs to be changed to accommodate the response. In this instance res is a string which is what the function is expecting and also fromWei is now in the utils namespace https://github.com/ChainSafe/web3.js/issues/1004.

    Unsure how this has previously worked at all - apologies if usage is incorrect. The proposed change fixed the issue for me.

    Reply
  • Errors with Smartcontracts compilation
    Errors with Smartcontracts compilation

    Jul 23, 2018

    The contrats are not compiling, and the app is not working because the JSON files are not generated.

    truffle(develop)> compile
    Compiling .\contracts\DB.sol...
    Compiling .\contracts\Migrations.sol...
    Compiling .\contracts\Setup.sol...
    Compiling .\contracts\UserAuthManager.sol...
    Compiling .\contracts\lib\arachnid\solidity-stringutils\strings.sol...
    Compiling .\contracts\lib\userManager.sol...
    Compiling .\contracts\lib\utilities.sol...
    Compiling .\contracts\zeppelin\lifecycle\Destructible.sol...
    Compiling .\contracts\zeppelin\math\SafeMath.sol...
    Compiling .\contracts\zeppelin\ownership\Ownable.sol...
    
    Compilation warnings encountered:
    
    /C/Dev/Vue/contracts/zeppelin/ownership/Ownable.sol:17:3: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
      function Ownable() public {
      ^ (Relevant source part starts here and spans across multiple lines).
    ,/C/Dev/Vue/contracts/zeppelin/lifecycle/Destructible.sol:13:3: Warning: Defining constructors as functions with the same name as the contract is deprecated.
    Use "constructor(...) { ... }" instead.
      function Destructible() payable public { }
      ^----------------------------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:140:9: Warning: Use of the "var" keyword is deprecated.
            var ret = new string(self._len);
            ^-----^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:158:9: Warning: Use of the "var" keyword is deprecated.
            var ptr = self._ptr - 31;
            ^-----^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:159:9: Warning: Use of the "var" keyword is deprecated.
            var end = ptr + self._len;
            ^-----^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:203:9: Warning: Use of the "var" keyword is deprecated.
            var selfptr = self._ptr;
            ^---------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:204:9: Warning: Use of the "var" keyword is deprecated.
            var otherptr = other._ptr;
            ^----------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:215:17: Warning: Use of the "var" keyword is deprecated.
                    var diff = (a & mask) - (b & mask);
                    ^------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:304:9: Warning: Use of the "var" keyword is deprecated.
            var b = word / _div;
            ^---^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:414:9: Warning: Use of the "var" keyword is deprecated.
            var selfptr = self._ptr + self._len - needle._len;
            ^---------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:442:9: Warning: Use of the "var" keyword is deprecated.
            var selfptr = self._ptr + self._len - needle._len;
            ^---------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:672:9: Warning: Use of the "var" keyword is deprecated.
            var ret = new string(self._len + other._len);
            ^-----^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:696:9: Warning: Use of the "var" keyword is deprecated.
            var ret = new string(strLen);
            ^-----^
    ,/C/Dev/Vue/contracts/DB.sol:28:3: Warning: Defining constructors as functions
    with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
      function DB () public {
      ^ (Relevant source part starts here and spans across multiple lines).
    ,/C/Dev/Vue/contracts/Migrations.sol:11:3: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
      function Migrations() public {
      ^ (Relevant source part starts here and spans across multiple lines).
    ,/C/Dev/Vue/contracts/Setup.sol:11:3: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
      function Setup (address _dbAddress) public {
      ^ (Relevant source part starts here and spans across multiple lines).
    ,/C/Dev/Vue/contracts/lib/utilities.sol:17:5: Warning: Use of the "var" keyword is deprecated.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
        ^-----^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:24:5: Warning: Use of the "var" keyword is deprecated.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
        ^-----^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:34:5: Warning: Use of the "var" keyword is deprecated.
        var firstNameLength = firstName.toSlice().len();
        ^-----------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:35:5: Warning: Use of the "var" keyword is deprecated.
        var lastNameLength = lastName.toSlice().len();
        ^----------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:36:5: Warning: Use of the "var" keyword is deprecated.
        var emailLength = email.toSlice().len();
        ^-------------^
    ,/C/Dev/Vue/contracts/UserAuthManager.sol:9:3: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
      function UserAuthManager (address _dbAddress) public {
      ^ (Relevant source part starts here and spans across multiple lines).
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:473:21: Warning: The use of labels is deprecated. Please use "if", "switch", "for" or function calls instead.
                        loop:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:473:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        loop:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:474:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        jumpi(exit, eq(and(mload(ptr), mask), needledata))
                        ^------------------------------------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:476:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        jumpi(loop, lt(sub(ptr, 1), end))
                        ^-------------------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:478:21: Warning: The use of labels is deprecated. Please use "if", "switch", "for" or function calls instead.
                        exit:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:478:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        exit:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:510:21: Warning: The use of labels is deprecated. Please use "if", "switch", "for" or function calls instead.
                        loop:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:510:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        loop:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:511:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        jumpi(ret, eq(and(mload(ptr), mask), needledata))
                        ^-----------------------------------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:513:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        jumpi(loop, gt(add(ptr, 1), selfptr))
                        ^-----------------------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:515:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        jump(exit)
                        ^--------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:516:21: Warning: The use of labels is deprecated. Please use "if", "switch", "for" or function calls instead.
                        ret:
                        ^-^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:516:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        ret:
                        ^-^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:518:21: Warning: The use of labels is deprecated. Please use "if", "switch", "for" or function calls instead.
                        exit:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:518:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        exit:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:10:39: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        return DB(dbAddress).getUIntValue(keccak256(key));
                                          ^------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:10:39: Warning: The provided argument of type string memory is not implicitly convertible to expected type bytes memory.
        return DB(dbAddress).getUIntValue(keccak256(key));
                                          ^------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:17:42: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
                                             ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:17:42: Warning: The provided argument of type string memory is not implicitly convertible to expected type bytes memory.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
                                             ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:18:35: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setAddressValue(keccak256(key, idx), val);
                                      ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:19:32: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setUIntValue(keccak256(key, val, "index"), idx);
                                   ^--------------------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:20:32: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setUIntValue(keccak256(countKey), idx + 1);
                                   ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:20:32: Warning: The provided argument of type string memory is not implicitly convertible to expected type bytes memory.
        DB(dbAddress).setUIntValue(keccak256(countKey), idx + 1);
                                   ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:24:42: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
                                             ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:24:42: Warning: The provided argument of type string memory is not implicitly convertible to expected type bytes memory.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
                                             ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:25:32: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setUIntValue(keccak256(key, idx), val);
                                   ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:26:32: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setUIntValue(keccak256(key, val, "index"), idx);
                                   ^--------------------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:27:32: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setUIntValue(keccak256(countKey), idx + 1);
                                   ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:27:32: Warning: The provided argument of type string memory is not implicitly convertible to expected type bytes memory.
        DB(dbAddress).setUIntValue(keccak256(countKey), idx + 1);
                                   ^-----------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:9:33: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        DB(dbAddress).setUInt8Value(keccak256("user/status", userId), status);
                                    ^------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:21:40: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        return DB(dbAddress).getUInt8Value(keccak256("user/status", userId));
                                           ^------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:47:34: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        DB(dbAddress).setStringValue(keccak256("user/first-name", userId), firstName);
                                     ^----------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:48:34: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        DB(dbAddress).setStringValue(keccak256("user/last-name", userId), lastName);
                                     ^---------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:49:34: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        DB(dbAddress).setStringValue(keccak256("user/email", userId), email);
                                     ^-----------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:50:35: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        DB(dbAddress).setBytes32Value(keccak256("user/gravatar", userId), gravatar);
                                      ^--------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:60:34: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
          DB(dbAddress).setUIntValue(keccak256("user/created-on", userId), now);
                                     ^----------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:61:35: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
          DB(dbAddress).setUInt8Value(keccak256("user/status", userId), 1);
                                      ^------------------------------^
    ,/C/Dev/Vue/contracts/UserAuthManager.sol:32:5: Warning: Invoking events without "emit" prefix is deprecated.
        SetUser(msg.sender, true);
        ^-----------------------^
    
    
    /C/Dev/Vue/contracts/zeppelin/ownership/Ownable.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.24+commit.e67f0147.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
    pragma solidity 0.4.18;
    ^---------------------^
    ,/C/Dev/Vue/contracts/zeppelin/ownership/Ownable.sol:17:3: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
      function Ownable() public {
      ^ (Relevant source part starts here and spans across multiple lines).
    ,/C/Dev/Vue/contracts/zeppelin/lifecycle/Destructible.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.24+commit.e67f0147.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
    pragma solidity 0.4.18;
    ^---------------------^
    ,/C/Dev/Vue/contracts/zeppelin/lifecycle/Destructible.sol:13:3: Warning: Defining constructors as functions with the same name as the contract is deprecated.
    Use "constructor(...) { ... }" instead.
      function Destructible() payable public { }
      ^----------------------------------------^
    ,/C/Dev/Vue/contracts/zeppelin/math/SafeMath.sol:1:1: SyntaxError: Source file
    requires different compiler version (current compiler is 0.4.24+commit.e67f0147.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
    pragma solidity 0.4.18;
    ^---------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.24+commit.e67f0147.Emscripten.clang - note that nightly builds are considered
    to be strictly less than the released version
    pragma solidity 0.4.18;
    ^---------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:140:9: Warning: Use of the "var" keyword is deprecated.
            var ret = new string(self._len);
            ^-----^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:158:9: Warning: Use of the "var" keyword is deprecated.
            var ptr = self._ptr - 31;
            ^-----^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:159:9: Warning: Use of the "var" keyword is deprecated.
            var end = ptr + self._len;
            ^-----^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:203:9: Warning: Use of the "var" keyword is deprecated.
            var selfptr = self._ptr;
            ^---------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:204:9: Warning: Use of the "var" keyword is deprecated.
            var otherptr = other._ptr;
            ^----------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:215:17: Warning: Use of the "var" keyword is deprecated.
                    var diff = (a & mask) - (b & mask);
                    ^------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:304:9: Warning: Use of the "var" keyword is deprecated.
            var b = word / _div;
            ^---^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:414:9: Warning: Use of the "var" keyword is deprecated.
            var selfptr = self._ptr + self._len - needle._len;
            ^---------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:442:9: Warning: Use of the "var" keyword is deprecated.
            var selfptr = self._ptr + self._len - needle._len;
            ^---------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:672:9: Warning: Use of the "var" keyword is deprecated.
            var ret = new string(self._len + other._len);
            ^-----^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:696:9: Warning: Use of the "var" keyword is deprecated.
            var ret = new string(strLen);
            ^-----^
    ,/C/Dev/Vue/contracts/DB.sol:28:3: Warning: Defining constructors as functions
    with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
      function DB () public {
      ^ (Relevant source part starts here and spans across multiple lines).
    ,/C/Dev/Vue/contracts/Migrations.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.24+commit.e67f0147.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
    pragma solidity 0.4.18;
    ^---------------------^
    ,/C/Dev/Vue/contracts/Migrations.sol:11:3: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
      function Migrations() public {
      ^ (Relevant source part starts here and spans across multiple lines).
    ,/C/Dev/Vue/contracts/Setup.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.24+commit.e67f0147.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
    pragma solidity 0.4.18;
    ^---------------------^
    ,/C/Dev/Vue/contracts/Setup.sol:11:3: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
      function Setup (address _dbAddress) public {
      ^ (Relevant source part starts here and spans across multiple lines).
    ,/C/Dev/Vue/contracts/lib/utilities.sol:17:5: Warning: Use of the "var" keyword is deprecated.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
        ^-----^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:24:5: Warning: Use of the "var" keyword is deprecated.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
        ^-----^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.24+commit.e67f0147.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
    pragma solidity 0.4.18;
    ^---------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:34:5: Warning: Use of the "var" keyword is deprecated.
        var firstNameLength = firstName.toSlice().len();
        ^-----------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:35:5: Warning: Use of the "var" keyword is deprecated.
        var lastNameLength = lastName.toSlice().len();
        ^----------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:36:5: Warning: Use of the "var" keyword is deprecated.
        var emailLength = email.toSlice().len();
        ^-------------^
    ,/C/Dev/Vue/contracts/UserAuthManager.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.24+commit.e67f0147.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
    pragma solidity 0.4.18;
    ^---------------------^
    ,/C/Dev/Vue/contracts/UserAuthManager.sol:9:3: Warning: Defining constructors as functions with the same name as the contract is deprecated. Use "constructor(...) { ... }" instead.
      function UserAuthManager (address _dbAddress) public {
      ^ (Relevant source part starts here and spans across multiple lines).
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:473:21: Warning: The use of labels is deprecated. Please use "if", "switch", "for" or function calls instead.
                        loop:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:473:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        loop:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:474:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        jumpi(exit, eq(and(mload(ptr), mask), needledata))
                        ^------------------------------------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:476:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        jumpi(loop, lt(sub(ptr, 1), end))
                        ^-------------------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:478:21: Warning: The use of labels is deprecated. Please use "if", "switch", "for" or function calls instead.
                        exit:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:478:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        exit:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:510:21: Warning: The use of labels is deprecated. Please use "if", "switch", "for" or function calls instead.
                        loop:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:510:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        loop:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:511:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        jumpi(ret, eq(and(mload(ptr), mask), needledata))
                        ^-----------------------------------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:513:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        jumpi(loop, gt(add(ptr, 1), selfptr))
                        ^-----------------------------------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:515:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        jump(exit)
                        ^--------^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:516:21: Warning: The use of labels is deprecated. Please use "if", "switch", "for" or function calls instead.
                        ret:
                        ^-^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:516:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        ret:
                        ^-^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:518:21: Warning: The use of labels is deprecated. Please use "if", "switch", "for" or function calls instead.
                        exit:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/arachnid/solidity-stringutils/strings.sol:518:21: Warning: Jump instructions and labels are low-level EVM features that can lead to
    incorrect stack access. Because of that they are discouraged. Please consider using "switch", "if" or "for" statements instead.
                        exit:
                        ^--^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:10:39: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        return DB(dbAddress).getUIntValue(keccak256(key));
                                          ^------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:10:39: Warning: The provided argument of type string memory is not implicitly convertible to expected type bytes memory.
        return DB(dbAddress).getUIntValue(keccak256(key));
                                          ^------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:17:42: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
                                             ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:17:42: Warning: The provided argument of type string memory is not implicitly convertible to expected type bytes memory.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
                                             ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:18:35: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setAddressValue(keccak256(key, idx), val);
                                      ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:19:32: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setUIntValue(keccak256(key, val, "index"), idx);
                                   ^--------------------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:20:32: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setUIntValue(keccak256(countKey), idx + 1);
                                   ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:20:32: Warning: The provided argument of type string memory is not implicitly convertible to expected type bytes memory.
        DB(dbAddress).setUIntValue(keccak256(countKey), idx + 1);
                                   ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:24:42: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
                                             ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:24:42: Warning: The provided argument of type string memory is not implicitly convertible to expected type bytes memory.
        var idx = DB(dbAddress).getUIntValue(keccak256(countKey));
                                             ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:25:32: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setUIntValue(keccak256(key, idx), val);
                                   ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:26:32: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setUIntValue(keccak256(key, val, "index"), idx);
                                   ^--------------------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:27:32: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar
    function to encode the data.
        DB(dbAddress).setUIntValue(keccak256(countKey), idx + 1);
                                   ^-----------------^
    ,/C/Dev/Vue/contracts/lib/utilities.sol:27:32: Warning: The provided argument of type string memory is not implicitly convertible to expected type bytes memory.
        DB(dbAddress).setUIntValue(keccak256(countKey), idx + 1);
                                   ^-----------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:9:33: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        DB(dbAddress).setUInt8Value(keccak256("user/status", userId), status);
                                    ^------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:21:40: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        return DB(dbAddress).getUInt8Value(keccak256("user/status", userId));
                                           ^------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:47:34: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        DB(dbAddress).setStringValue(keccak256("user/first-name", userId), firstName);
                                     ^----------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:48:34: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        DB(dbAddress).setStringValue(keccak256("user/last-name", userId), lastName);
                                     ^---------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:49:34: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        DB(dbAddress).setStringValue(keccak256("user/email", userId), email);
                                     ^-----------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:50:35: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
        DB(dbAddress).setBytes32Value(keccak256("user/gravatar", userId), gravatar);
                                      ^--------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:60:34: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
          DB(dbAddress).setUIntValue(keccak256("user/created-on", userId), now);
                                     ^----------------------------------^
    ,/C/Dev/Vue/contracts/lib/userManager.sol:61:35: Warning: This function only accepts a single "bytes" argument. Please use "abi.encodePacked(...)" or a similar function to encode the data.
          DB(dbAddress).setUInt8Value(keccak256("user/status", userId), 1);
                                      ^------------------------------^
    ,/C/Dev/Vue/contracts/UserAuthManager.sol:32:5: Warning: Invoking events without "emit" prefix is deprecated.
        SetUser(msg.sender, true);
        ^-----------------------^
    Compilation failed. See above.
    
    Reply
  • How to integrate with ERC20 token
    How to integrate with ERC20 token

    Nov 9, 2017

    Hello,

    I'd love to use this to create and transfer ERC20 tokens. Is there a way to combine this with ERC20?

    Reply
  • Migrations Issue
    Migrations Issue

    Feb 14, 2019

    Hi,

    initially using: Truffle v5.0.3 (core: 5.0.3) Solidity v0.5.0 (solc-js) Node v10.11.0

    I unboxed the eth-vue truffle box and ran a truffle compile but got a bunch of compilation errors so I downgraded the version of solc that truffle uses by modifying the truffle.js config file to match the version of solidity "0.4.18" which got rid of all of the compilation errors (as you have previously documented).

    However now at the next step, truffle migrate.... I get Error: *** Deployment Failed *** "Setup" -- invalid address (arg="_dbAddress", coderType="address", value=undefined). at /Users/thomasmoran/.nvm/versions/node/v10.11.0/lib/node_modules/truffle/build/webpack:/packages/truffle-deployer/src/deployment.js:364:1

    Any ideas or suggestions to what might be going wrong?

    Reply
  • Network config for Truffle / Ganache
    Network config for Truffle / Ganache

    Apr 10, 2019

    Just starting out. Can't seem to connect to Ganache on 7545. Does network_id need to be 5777 for Ganache? What unlocked acccount needs to be in the from property?

    module.exports = { ... networks: { development: { host: "localhost", port: 7545, network_id: "*", // Match any network id. You may need to replace * with your network Id from: "", // Add your unlocked account within the double quotes gas: 4444444 } }

    Getting this : Uncaught TypeError: Cannot read property 'isListening' of undefined at eval (webpack-internal:///./src/util/web3/getWeb3.js:13)

    Reply
  • Deployment issues
    Deployment issues

    Dec 1, 2017

    Hi, I have already deployed this app to the ganache network on port 7545, but I keep getting the app run on port 3001 even though I have configured truffle.js, I can show the logs:

    [email protected]C:~/Documents/Cryptocurrencies/soliditytruffleprojects/dapp/truffle boxes/DOkwulueze$ ganache-cli --port 7545 Ganache CLI v6.0.3 (ganache-core: 2.0.2)

    Available Accounts

    (0) 0x3bc519105fd6ab34b555b62f5d673585744a6c6a (1) 0xea4e8bab61fa21ef10d4e3bdac32d84b6c66b505 (2) 0x6161bf566473e866a0dea4f4ec111fd199dec664 (3) 0x2ba0ea109e94ee720e635e45c13efcc1f050d7a3 (4) 0x3fa573d569606256a0d8e39a62f667b7eac943c2 (5) 0x96ec7f3b95ced719c601155329913552e97fdef7 (6) 0x08d08a61a9329764f7a1acabf0796478662f9ad0 (7) 0x8067f875d246509b7e1dbf99694745ba0b4b7c6c (8) 0x5d38bd534cef69b441bbfda679d15aa34b956030 (9) 0x6c213dd255fd207f6ac4bb72f8c363fd50f2b54f

    Private Keys

    (0) e863a39d52c38ca9c186216ad5f11831ede13b8028f08c842262fc471301344e (1) a26fea66f7dd62afe381fe36c2fff20fbc189098fc0e3900218f42cbd60b0c67 (2) 63d84623be786797c4f978c4349d3cef8adf714bf407016ef1c48805bb600b41 (3) b80f1d019d04f548fffec15944d17c8afa27ddccecdef6c692e3723d473d8e8f (4) 3e80247246f53f3454125c60f49309317a79a74c0f1cc495da3613414ba49a1a (5) 3f4d664e59c42b7e756b9d06c9090b186f60d2ca237e896e2936afdca4ef53cd (6) 13ca2c633b7e094508e3ac16fb7ebbc7fa34f69bf26c30f0194c5477fa591eca (7) 85ccd647dca47c7982645b9f6a935b0a167105b654e8a17302b56c1991bfbabf (8) f53bad5a65b518b6db2ef6f277925577ef9f939a3c6a8f3da44993a136edbeb4 (9) e5ded692b12dfe1805b62fe4f8d81728cf03592fa41647ce5e002aa8cf783908

    HD Wallet

    Mnemonic: crater solution correct surprise kite earn try banana vendor lake powder describe Base HD Path: m/44'/60'/0'/0/{account_index}

    Listening on localhost:7545 net_version eth_accounts net_version net_version eth_sendTransaction

    Transaction: 0x7a254b7a019bb071c32d31d93eb15295c20003a66df94f5f39fe877e39182566 Contract created: 0x54850d2da6dae18dbc9992ef389889aa9ffda2e7 Gas usage: 269607 Block Number: 1 Block Time: Fri Dec 01 2017 15:43:49 GMT-0600 (CST)

    eth_newBlockFilter eth_getFilterChanges eth_getTransactionReceipt eth_getCode eth_uninstallFilter eth_sendTransaction

    Transaction: 0xb45960aaad4c95cb9c60e0d5ce40316fcb58dddef84a34ee488b9b6befb1abc5 Gas usage: 41981 Block Number: 2 Block Time: Fri Dec 01 2017 15:43:50 GMT-0600 (CST)

    eth_getTransactionReceipt eth_accounts net_version net_version eth_sendTransaction

    Transaction: 0x7ecd14b491f5933855527ce9e0b826a456badbe9bc5d45f7a1097d859c5baf47 Contract created: 0x2aca8bc53a603f13572ccf5d143aaf8b48162534 Gas usage: 214586 Block Number: 3 Block Time: Fri Dec 01 2017 15:43:50 GMT-0600 (CST)

    eth_newBlockFilter eth_getFilterChanges eth_getTransactionReceipt eth_getCode eth_uninstallFilter net_version net_version eth_sendTransaction

    Transaction: 0x67d3d7493c1835fad5815b6900dcb4675e4a8f3cbfddd0b2c9aec6c197976397 Contract created: 0xd4bce84cdbc4ff1036d2cf97a349c13f6db9ed2d Gas usage: 311002 Block Number: 4 Block Time: Fri Dec 01 2017 15:43:50 GMT-0600 (CST)

    eth_newBlockFilter eth_getFilterChanges eth_getTransactionReceipt eth_getCode eth_uninstallFilter net_version net_version eth_sendTransaction

    Transaction: 0x400083534a859c763abedc6f2ac8f4935683aa950300fec51f8e32d0fd92c32f Contract created: 0x4974d944e5996a2b8d834ba5ce857e0066eb2296 Gas usage: 950530 Block Number: 5 Block Time: Fri Dec 01 2017 15:43:50 GMT-0600 (CST)

    eth_newBlockFilter eth_getFilterChanges eth_getTransactionReceipt eth_getCode eth_uninstallFilter net_version net_version eth_sendTransaction

    Transaction: 0x1de61635038851c3bccc6154a81c305764fe6fe096b9489537faf3ffa0d15cc1 Contract created: 0x0a6f4c944d298266b040f4d7960d29fd7fb78008 Gas usage: 68653 Block Number: 6 Block Time: Fri Dec 01 2017 15:43:51 GMT-0600 (CST)

    eth_newBlockFilter eth_getFilterChanges eth_getTransactionReceipt eth_getCode eth_uninstallFilter net_version net_version eth_sendTransaction

    Transaction: 0x0ecb23d332e7189c1ffbb19454a8decff5060abd1b2fd679131815a12cef1f48 Contract created: 0x014e58610dbd1a90d759157f8a98560c943c2f2a Gas usage: 215342 Block Number: 7 Block Time: Fri Dec 01 2017 15:43:51 GMT-0600 (CST)

    eth_newBlockFilter eth_getFilterChanges eth_getTransactionReceipt eth_getCode eth_uninstallFilter eth_sendTransaction

    Transaction: 0xc2ad6035a4f5ee5592a721e60212d84d7f8e16e1cba9691a562f6544f8066f59 Gas usage: 26981 Block Number: 8 Block Time: Fri Dec 01 2017 15:43:51 GMT-0600 (CST)

    eth_getTransactionReceipt_

    I'm running the dev right here:

    [email protected]C:~/Documents/Cryptocurrencies/soliditytruffleprojects/dapp/truffle boxes/DOkwufulueze$ npm run d ev

    [email protected] dev /home/gustavoparedes1978/Documents/Cryptocurrencies/soliditytruffleprojects/dapp/truffle boxes/DOkwufulueze node build/dev-server.js

    Starting dev server...

    DONE Compiled successfully in 30445ms 15:48:20

    Listening at http://localhost:3001_

    This is the actual result: image

    Reply
  • Error: could not unlock signer account
    Error: could not unlock signer account

    Sep 15, 2017

    Hi,

    Thanks for your boilerplate. That's exactly what i was looking for.

    The problem is that when i run the first migration a got a Error: could not unlock signer account.

    Any idea ?

    Reply