Submitted by
- Shubham Shukla - UFID-4124-3903
- Srishti Prakash Mishra - UFID-8933-7966
Description THE project is divided into separate modules of client, and server. Client module handles all the bitcoin mining processes right form random number generation to creating hash value, and then checking the hash value for leading zeros. Server handles the calls from the client and prints the details on the console and it also maintains state, which is later used by other clients to get the appropiate value of leading zeros. Two random numbers have been appended to the gator id to craete an input string. Random numbers are generated by the crypto module of Erlang, and is then encoded Base16. This string is then passed as an input to sha256. We then print all these values on the console. When a new client is added
If available in Hex, the package can be installed
by adding project1
to your list of dependencies in mix.exs
:
def deps do
[
{:project1, "~> 0.1.0"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/project1.
#ToD0 #1. Size of the work unit that you determined results in best performance for your implementation and an explanation on how you determined it. Size of the work unit refers to the number of sub-problems that a worker gets in a single request from the boss. 100000 gave us CPU Utilization of maximum 387%. user time/real time = 2.8s
#2.The result of running your program for ./project1 4 - 1000000 with an input of k=4 gave us real 1m12.902s user 0m45.859s sys 0m3.361s user time/real time = 3.557
#3.The running time for the above as reported by time for the above, i.e. run time ./project1 5 and report the time - 1000000 with an input of k=5 gave us: real 1m14.594s user 0m44.879s sys 0m2.577s ratio = 3.0751
#4. The coin with the most 0s you managed to find- k=5 4124-3903;485E969529422EA1824313F940C736A05E4C8FA4
#5. The largest number of working machines you were able to run your code with 2