Coder Social home page Coder Social logo

eoscommander's Introduction

EOS commander for developer

EOS commander is an Android client for EOSIO DApp developer.
It includes functions of wallet. Developers can test wallet, account, transaction, contract, etc. on the Android device.

EOS Commander is designed with MVP pattern.
You can use "data" and "crypto" package to any JAVA projects.

PlayerOne is new name of Plactal.

Table of contents

Getting Started

Prerequisite

For Testing on private net:
You should have running nodeos node.
Set "http-server-address" other than "127.0.0.1" .
EOS commander includes wallet function, you don't need to specify "wallet_api_plugin" in config.ini.

See EOSIO github.

Build

On the console type:

git clone https://github.com/playerone-id/eoscommander.git

Open in Android studio 3.0 or later.

Install from Play Store

You can install the latest version from the Play store at: link

Or download apk : releases

Set connection

For Private test net:
You should have running nodeos node.
Set "http-server-address" other than "127.0.0.1".

Connect

Connect to eos network and check the status. On connected state, you can use the command function.

Wallet

create default wallet and import key of eosio.

This creates a wallet named 'default' and import the private key of eosio account.

create wallet

You can also create wallets other than "default". Also provides option for saving password for easy testing. (This makes password automatically filled when you unlock a wallet.)

view keys

Lists imported private keys and their respective public key.

Import key

Import key to sign the transaction to wallet.

Lock / Unlock

Lock or unlock wallet.

Account

create account

Create the account with these characters : 'a-z' or '12345' or '.'(dot) . You should unlock a wallet to save keys.

get account

View the current account status.

get transactions

Query list of transactions.

get servants

Query the controlled_account.

Transfer

Transfer eos. (Push transfer message on built-in eosio smart contract)

Currency

Run "get balance" or "get stats" commands for currency contract.

Push

Push the contract message. See EOSIO Developer Portal
You can type json manually, or edit via form input UI( after reading ABI from EOS network), or importing JSON file.

Get table

Lists the contract table. See EOSIO Developer Portal

Apps using EOS Commander source

Please ping me or send a pull request if you would like to be added here.

PocketEOS-Android by orcalechain.io

Contact

[email protected]

License

Copyright (c) 2017-2018 PlayerOne.

The MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

eoscommander's People

Contributors

songchenwen avatar swapnibble avatar zackcho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eoscommander's Issues

Can the wallet file generated by EosCommander be parsed by `cleos wallet` command?

I use the EosCommander to unlock the wallet file generated by cleos wallet, but it through the "Invalid Public Key" exception.

And then I use the function createTestingDefaultWallet() with the default private key "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3", then use the cleos wallet command to list private keys from the generated wallet file by EosCommander, still, can not unlock.

So my question is can the wallet file generated by EosCommander be parsed by cleos wallet command?

create account failed

When I create account with Default wallet, but if failed at "signAndPackTransaction----- mNodeosApi.getRequiredKeys". onError: {"code":401,"message":"UnAuthorized","error":{"code":3090003,"name":"unsatisfied_authorization","what":"provided keys, permissions, and delays do not satisfy declared authorizations","details":[]}}. Thanks!

push problem

Hi, I use your project--EosCommander to test the custom contract , when I send ,there are error message, I already create wallet in local , and import the private key , the error message is below:
Error
HttpCode:500
{"code":500,"message":"Internal Service Error","error":{
"code":3090003,"name":"unsatisfied_authorization","what":"Provided keys,permissions, and delays do not satisfy declared authorizations","details":[ ]
}}

is there the signature problem?
Ask for help,Thank you very much.

TypeSymbol bug

while i transfer eosdac token, i'l see the exception of (precision should be <= " +18 + ": " + 68),

TypeSymbol ->
public short decimals() {
return (short) (mValue & 0xFF);
}

New logo/icon

Hi, I am a graphic designer, I want to help others in graphic design.

After I reviewed your project, your logo on this project unatractive. Therefore I want to contribute to this project by creating a new logo / icon. what do you think?

we have account like abc.game now.

   So in file TypeAccountName.java, 

we should remove the following check

 if ( (name.indexOf( CHAR_NOT_ALLOWED) >= 0) && ! name.startsWith("eosio.") ){
            throw new IllegalArgumentException("account name must not contain '.': " + name);
        }

Questions

This looks very interesting and I love this project!
Thank you for the work.

I mainly worked on Ethereum and Stellar for mobile wallets before.
This time, I have a plan to make an EOS wallet for Android.

I have a question.
How does it work without syncing nodes? For case of Ethereum, I need to sync the nodes or use services like "INFURA". How about EOS? How does it really work?

Do you have any plan to make android library for wallet?
It looks like this app has some codes for making a wallet and transactions. But I want to know if there is some better way I can use the codes rather than just copying them manually. Please let me know if you have any plan to make a library so I can import it using Gradle.

I am also Korean and please feel free to send me a message via Telegram if you prefer faster communication!
telegram: @iamstevechang

private key import bug

when checking the checksum, the byte data is decode as Base58 ,
but the checkOne and checkTwo do not have Base58 convert, so may cause some checking fail .

here is an example:
5HpZ2PpApoBnKQceLZ8jfKom413zSSqYQ63UGAYDTb2MyxLFt4c

public static byte[] getBytesIfMatchedSha256(String base58Data,RefValue checksumRef ){
byte[] data= Base58.decode( base58Data );

    return Arrays.copyOfRange(data, 1, data.length - 4);



    // offset 0은 제외, 뒤의 4바이트 제외하고, private key 를 뽑자

    /* checksum decode has bug. example :

    Sha256 checkOne = Sha256.from( data, 0, data.length - 4 );
    Sha256 checkTwo = Sha256.from( checkOne.getBytes() );
    if ( checkTwo.equalsFromOffset( data, data.length - 4, 4)
            || checkOne.equalsFromOffset( data, data.length - 4, 4) ){

        if ( checksumRef != null ){
            checksumRef.data = BitUtils.uint32ToLong( data, data.length - 4);
        }

        return Arrays.copyOfRange(data, 1, data.length - 4);
    }

    throw new IllegalArgumentException("Invalid format, checksum mismatch");
    */
}

TypeSymbol validName issue

I think the validName function in TypeSymbol should check between

((value < 65) || ( value > 90))

instead of

((value < 97) || ( value > 122))

for characters A - Z

rpc返回的签名和本地的签名不一致

[
{
"ref_block_num": 63734,
"ref_block_prefix": 517331098,
"expiration": "2018-06-01T03:22:42",
"actions": [
{
"account": "eosio",
"name": "newaccount",
"authorization": [
{
"actor": "alice",
"permission": "active"
}
],
"data":"0000000000855c341042082184103a9301000000010002594a4d3c11b0573c7b4cf71e8f20245190bdf884aceb5da8b3bbf54dd76ed4ef0100000001000000010002594a4d3c11b0573c7b4cf71e8f20245190bdf884aceb5da8b3bbf54dd76ed4ef01000000"
}
],
"signatures": []
},
[
"EOS78nndF91Wa1QWSzykZ9RfoToT8b6taKXpwbRQmEQfzSPYNBMnN"
],
"706a7ddd808de9fc2b8879904f3b392256c83104c1d544b38302cc07d9fca477"
]

Implementing push, same as `cleos push action` from App

Hello
I'm currenlty following the EOS tutorial. Before going on to develop App connecting with EOS, I'm trying to send simple event from android application, same as cleos push action hello hi '["bob"]' -p user@active. Is it possible by using this module? If it is, could you give me a guide for this?

Thanks.

无效的打包交易

本地签名,DAPP用的如果是eosjs就不会有问题,但是如果DAPP用的是eosjs2传回去的签名字符串就是错误的。

signature action

Where is the signing action in the source code?I just saw this。
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.