Code Monkey home page Code Monkey logo

aurum_client's Issues

Windows release

  • make a branch based off dev called windows_release
  • at project root, run go build -o client
  • remove main.go
  • remove internal/ (yes the whole directory)
  • test to make sure that client -h works

No pull request is needed, all this code remains on this branch.

New encrypt/decrypt functions

Simply use the functions found here:
https://www.thepolyglotdeveloper.com/2018/02/encrypt-decrypt-data-golang-application-crypto-packages/

  • new package encrypt with library and test files
  • use hashing.New function in our own hashing package instead of createHash
  • Instead of calling panic, return the error where applicable
  • encrypt function
  • decrypt function
  • one test that encrypts a string, then decrypts it and asserts it is equal to the test string
  • test follows AAA unit test format (arrange, act, assert)

New GetProducers Request

New Request called GetProducers

  • Add endpoint PeerList = http://blockchain.acmapp.tech/peers
  • Function should return a GET request to PeerList and returns a slice of strings
  • AAA test

MAC release

  • make a branch based off dev called mac_release
  • at project root, run go build -o client
  • remove main.go
  • remove internal/ (yes the whole directory)
  • test to make sure that client -h works

No pull request is needed, all this code remains on this branch.

Add Instructions to README

What branch to download, how to setup, describe the different commands, how to maintain integrity of private key, etc.

  • Download links for each OS
  • How to set up
  • List all commands that can be used with binary
  • Suggestion to copy aurum_wallet.json and store in a secure location. Include warning about sensitivty of the private key.

Add contract history slice to wallet

We will introduce contract histories in our wallet so that people can view the history of all their transactions made.

  • Create a struct called ContractSummary, should have a field that designates "to" or "from", a recipient wallet address, and an amount
  • Add a field to the wallet that is a slice of these structs
  • Confirm that it's added to the json wallet.

Settings command

Currently config.json has the following structure:

{
    "Version": 1,
    "ProducerAddress": "localhost:12000"
}

context: main.go

  • Add a flag that takes an argument and sets the Version to that.
  • Add a flag that takes an argument in the form of x.x.x.x:x and changes the ProducerAddress in config.json to that.
  • Make sure there's error checking on both arguments before changing anything

Resource: https://golang.org/pkg/flag/

merge dev with master

Currently Master branch does not have the README.md we would like to display (dev does).

Recover wallet with private key

package context wallet

Given a hex-string-encoded, PEM-encoded private key, generate an aurum_wallet.json with that private key and all other fields set to zero.

Addressbook feature

Suppose wallet address 123456789abcdef123456789abcdefis a made up wallet address for Richie.

I want to be able to run

./client -save 123456789abcdef123456789abcdef -as Richie

So I can run

./client -send 1000 -to Richie

or

./client -send 1000 -to 123456789abcdef123456789abcdef

And they will both do the same thing.

Suggestion is to create a JSON file called addressbook that stores key:value pairs of name:wallet address. Running a contract command should first check to see if the string is a key in the addressbook, and if it is, use the value.

Input check for recipient in contract request flag

When using the -to flag in main, proofread the input and make sure it is 64 characters long. If it isn't, report the problem and exit.

  • Input check for -to argument rejects strings who's length is not equal to 64.
  • Test that supports both accepted and rejected cases.

ValidRecip containing only hex characters

I'd like the ValidRecip function to check to make sure that the wallet address entered only contains hex characters. Valid hex characters are: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f

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.