Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wallet: functionality for creating a native neo-go wallet #26

Closed
anthdm opened this issue Feb 23, 2018 · 10 comments · Fixed by #757
Closed

Wallet: functionality for creating a native neo-go wallet #26

anthdm opened this issue Feb 23, 2018 · 10 comments · Fixed by #757
Assignees
Labels
task Something to do wallet NEP-6 wallet and accounts
Milestone

Comments

@anthdm
Copy link

anthdm commented Feb 23, 2018

Problem

At the moment there is no support for wallets yet. This could be so handy when we are starting to deploy smart contracts written and compiled in Go.

Solution

Implement full wallet functionality through CLI.

Quick start references

@anthdm anthdm added task Something to do wallet NEP-6 wallet and accounts labels Feb 23, 2018
@anthdm
Copy link
Author

anthdm commented Feb 23, 2018

I just noticed there is no wallet folder in /pkg yet. That would be a good start :)

@vladucu
Copy link

vladucu commented Feb 24, 2018

@anthdm I can give this a go, if that's cool

@anthdm
Copy link
Author

anthdm commented Feb 24, 2018

@vladucu Can you coordinate your efforts with @pawanrawal I think he's on this? And ty for showing activity in neo-go 👍

@pawanrawal
Copy link
Contributor

Yeah, I am on this and should have something out soon.

@anthdm
Copy link
Author

anthdm commented Mar 2, 2018

Just merged a huge PR into master containing lots of crypto + wallet code. This should give a huge boost to the wallet package.

Things that still need to be done.

  • Extend the wallet command in the neo-cli
  • Add more API's to the Wallet struct (check original #c implementation for those API's)
  • Some security improvements

I will start working on the smart contract part, so we can wire things together (compiler, wallet and smart contracts)

@anthdm anthdm changed the title Wallet functionality Wallet: functionality for creating a native neo-go wallet Apr 7, 2018
@hal0x2328
Copy link
Contributor

@anthdm assuming the three tasks from your comment of March 2 last year are still outstanding, I'd like to create three new issues for those, tagged with an impact and added to the project board, in order to encourage progress. I need a few more details on the specifics (especially the security improvements) to make the specifics of the tasks clear (or if you'd like, you could create the issues and I'll do the rest).

@roman-khimov
Copy link
Member

dev is currently completely missing the wallet functionality.

master is a bit different, on the CLI side it only exposes open and create commands, open has no implementation at all, but create really does create something that looks like a wallet. Internally in the wallet package there is a NEP-2 implementation, WIF, wallet creation/import, private/public key management, although I guess it's still far away from full wallet functionality.

@roman-khimov
Copy link
Member

Two inspiring links:
https://docs.neo.org/docs/en-us/node/cli/cli.html
https://neo-python.readthedocs.io/en/latest/prompt.html#managing-wallets

What we need here is ability to:

  • import/export wifs
  • import/export nep2
  • generate new keys for existing wallets
  • import smart contract address
  • delete addresses
  • maybe sign arbitrary things (it's strongly related to multisig CLI command for asset transfers #670, though)

We don't have a concept of watch-only addresses, so we don't care about those, the same way as "indexing" that is being done by the chain for us. Our wallet is just a NEP-6 thing that contains keys, scripts and allows to manage those. GAS claims and asset transfers are separate tasks (#669 and #670).

roman-khimov added a commit that referenced this issue Feb 21, 2020
cli: implement wallet import/export functionality, part of #26.
@roman-khimov
Copy link
Member

I think the only thing we're still missing is ability to import arbitrary contracts and sign transactions using them, like here:
https://docs.neo.org/docs/en-us/sc/sample/Lock2.html

@roman-khimov
Copy link
Member

And maybe deleting addresses/contracts/keys.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task Something to do wallet NEP-6 wallet and accounts
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants