Jump to content

Jaxon

Moderators
  • Content Count

    21
  • Joined

  • Last visited

  • Days Won

    7
  • Feedback

    N/A

Jaxon last won the day on August 25

Jaxon had the most liked content!

Community Reputation

23 Excellent

About Jaxon

  • Rank
    Junior Denarian
  • Birthday September 25

Personal Information

  • D Address
    D9btaj1e87UyDsyjqe4bs6Jr5EMWqrFHhb

Recent Profile Visitors

1,356 profile views
  1. I'm aware that there is an issue with getting Denarius address' balances. Ive patched the app recently. Expect an update in the next few days 4o be pushed to the play store.
  2. I'm gonna start off with this guide is an adapation of this topic but for Denarius QT. At this time, I haven't been able to compile the QT with NativeTor or UPNP but when I do figure it out, I will update this thread. 0. Preparing Your System As with compiling every project, you need a compiler for the wallet and all the dependencies. Your patience will be tested multiple times duing the build and you have to be ready to spend a good 5 hours or so depending on the speed of your cpu. There are tools you have to install in order to compile. There are a few programs you should have installed to make the process easier here they are: 7-Zip for extracting files, choose the option appropriate for your system Notepad++ for editing certain files duing the building process Lets us start with MinGW, you can download it from here. That will download and install the MinGW. Once installed and open you should see a screen like this one: Click MinGW and Unmark everything, then click MSYS and unmark everything. Then mark the following items under MSYS: msys-autoconf-bin msys-automake-bin msys-base-bin msys-libtool-bin Its okay for other packages to become marked as you make the above, the others are dependencies. Then go to Installation -> Apply Changes -> Apply it will take a minute to download everything Next you are gonna wanna install the MinGW-builds toolchain from here. While compiling, you are gonna have 2 different cli-type interfaces open, more on that later. Unpack that archive to your drive root, for me that is C:\. Next create a folders in your drive root called deps and Qt. This is where we are gonna compile our dependencies. When all steps completed, your file structure should look similar to mine with all the folders outlined in red: Next we are going to make sure that the MinGW is in your PATH environment variable. To to this on windows 10, Search environment variable in the search on the bottom. You will get a window and on the bottom will be a button that says Environment Variables. Click it and go to the second list where its says System variables and scroll down to Path: If you dont see C:\mingw32\bin; at the front, add it in. You may need to reboot your computer to continue this tutorial, one way you can tell is if you open up command prompt and type gcc -v. If it tells you that gcc is an unrecognized program or file, reboot your computer, if not you are good to go and continue. Lastly make sure that the only file in C:\MinGW\bin should be mingw-get.exe. Now to extracting. 1. Downloading and Extracting Dependencies Here are a list of dependencies for you to download. I suggest downloading each one at a time and immediately starting the next as soon as the former has finished: OpenSSL .tar.gz DO NOT UNPACK YET Berkeley DB .tar.gz DO NOT UNPACK YET libboost 1.57.0 .zip Explorer to deps protoc and libprotobuf tar.gz 7Zip to deps libpng 1.6.16 .tar.gz 7Zip to deps qrencode .tar.gz 7Zip to deps QT Base 5.3.2 .7z 7Zip to QT rename to 5.3.2 QT Tools 5.3.2 .7z 7Zip to QT There are newer versions of QT Base and QT Tools but version 5.13 and 5.12 both have strange errors when attempted to compile. Just use 5.3.2. Once every thing is extracted to your deps folder, it should look like this: And your Qt folder should look like this: 2. Compiling Dependencies Finally time to compile, first you are gonna wanna start with OpenSSL. If you remember, I told you not to unpack it with 7ZIP, we are gonna be using tar in the MinGW shell. To open the shell, open C:\MinGW\msys\1.0\msys.bat and do the following: cd /c/deps/ tar xvfz openssl-1.0.1l.tar.gz cd openssl-1.0.1l ./Configure no-zlib no-shared no-dso no-krb5 no-camellia no-capieng no-cast no-cms no-dtls1 no-gost no-gmp no-heartbeats no-idea no-jpake no-md2 no-mdc2 no-rc5 no-rdrand no-rfc3779 no-rsax no-sctp no-seed no-sha0 no-static_engine no-whirlpool no-rc2 no-rc4 no-ssl2 no-ssl3 mingw make This will change directory to your deps folder, extract OpenSSL, configure and compile it. Next comes Berkeley DB which I also told you not to extract. Do the following in MinGW shell: cd /c/deps/ tar xvfz db-4.8.30.NC.tar.gz cd db-4.8.30.NC/build_unix ../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication make After Berkeley DB finishes, we will build libboost in Windows Command Prompt: cd C:\deps\boost_1_57_0\ bootstrap.bat mingw b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage While libboost is compiling, compile protoc and libprotobuf in MinGW shell: cd /c/deps/ tar xvfz protobuf-2.6.1.tar.gz cd /c/deps/protobuf-2.6.1 configure --disable-shared make When protoc and libprotobuf are done, compile libpng in MinGW shell: cd /c/deps/libpng-1.6.16 configure --disable-shared make cp .libs/libpng16.a .libs/libpng.a That last line will rename libpng to a name that qrencode can use. Once done compile qrencode cd /c/deps/qrencode-3.4.4 LIBS="../libpng-1.6.16/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \ png_CFLAGS="-I../libpng-1.6.16" \ png_LIBS="-L../libpng-1.6.16/.libs" \ configure --enable-static --disable-shared --without-tools make LIBS sets the libraries for qrencode to compile with. After set, go back to Windows Command Prompt. libboost should be done, if not wait until it is. You shold have renamed the folder QT Base extracts from to 5.3.2, the following requires that it is. Run these commands to compile QT Base and QT Tools. Note* if you have a quad core processor, run all mingw32-make commands with -j4 to speed up the compile time: set INCLUDE=C:\deps\libpng-1.6.16;C:\deps\openssl-1.0.1l\include set LIB=C:\deps\libpng-1.6.16\.libs;C:\deps\openssl-1.0.1l cd C:\Qt\5.3.2 configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -no-vcproj -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug mingw32-make set PATH=%PATH%;C:\Qt\5.3.2\bin cd C:\Qt\qttools-opensource-src-5.3.2 qmake qttools.pro mingw32-make *IMPORTATNT* Now that everything is compiled rename the openssl-1.0.1l directory to openssl-1.0.1j. Finally we are ready for the gritty part of the tutorial, compiling Denarius QT 4. Downloading and Compiling Denarius QT Download which ever version of the repo you want. Beta v3.4 is here, and extract it to whichever folder you like, try to put it in a path without any spaces. the deps folder works just fine. Open up Notepad++ we will need it later. There is one last dependency to compile before we can build Denarius QT, and that is leveldb. It comes packaged with Denarius repo and is located in the src folder of your extracted download. The full path for me is C:\deps\denarius-3.4\src\leveldb. Perform the following in MinGW shell to build: cd /c/deps/denarius-3.4/src/leveldb TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a Once compiled you should see somewhere at the end both libleveldb.a and libmemenv.a. In Windows Command Prompt, change directory to your downloaded denarius folder, mine is C:\deps\denarius-3.4, set PATH to include QT Tools and use qmake: cd C:\deps\denarius-3.4 set PATH=%PATH%;C:\Qt\5.3.2\bin qmake "USE_QRCODE=1" "USE_UPNP=-" "USE_NATIVETOR=-" denarius-qt.pro This will configure our build to compile on windows with QT, and QR support and without UPNP and Native Tor. Next you wanna open Notepad++ and edit the Makefile.Release file. Press CTRL+F and search for -levent and delete it. To finally compile Denarius QT, run mingw32-make in Windows Command Prompt and wait: *Note be sure to add -j4 on the end to make it compile faster if you are on a quad core machine!!! mingw32-make If the compilation is stuck on a file for a long time, like 50 or so seconds, press CTRL + C very quickly to force the compilation to continue. This may cause an error at the end saying a file with a .o extention is corrupted or missing. Just delete that file and run the above command again. You will know that the compilation succeded when in the release folder of denarius has Denarius.exe in it. My path being C:\deps\denarius-3.4\release. If you have any questions or comments, post them below and I will try to answer them.
  3. Well, it seems that the DNR lottery is under way pretty well...

  4. Just post in here good songs that help you feel relaxed or help you focus on your work here.
  5. The framework of the site works, but right now it looks like the 1990s internet, Its time to make it pretty. Sadly that will be the longest part.
  6. I need a general idea on how my Denarius lottery should be run. Any suggestions or comments should be posted below. Explanations: A weighted Pool lotto is where each person puts in money to the pool and has a chance to win to proportional to the amount they put in. You cannot put in more than 20% of the limit. The minimum pot will change based on popularity. A 5 Number lottery is where each person buys a ticket at a fixed price and picks 5 numbers from 1-69. If a person picks all five numbers correctly then they get half of all the money put in. You can buy as many tickets as you want. Since this will be small, order of number won't matter. If you guess less than the 5 correct then follow this equation for the amount you win: w = (Ticket Price) x 2^c where w is your winnings and c is the amount of correct numbers. No matter which method is chosen, there will be limits put into place to always make sure that the winners will always have 50% of the pot, and that if one person gets 4 numbers correct, they do not get more than 10% of the pot.
  7. I'm pretty sure I got all of you beat: And no there isn't more, that's all of it.
  8. Update posted, changelog: The server now has a UI to monitor transactions The node_config.prop files has all startup parameters The server now updates the database with confirmation count The code is now more organized and complete The server and example code have been separated.
  9. Jaxon

    Denarius Swag!

    In the next coming months, I will start to open trades for these items. So you can buy DNR merch with DNR!
  10. After a bit of thinking, If a developer uses my API and modifies some code of it, they could prevent a transaction from occurring on the client side. That would allow companies or ETH hackers (we all know about the articles) to take money without the customer getting what they paid for. If I were to start an escrow service, then it would be impossible for funds to be stolen. Why would a developer worry about taking up my offer? Security. While my company does not have quite a name out there, and me being the only employee it almost seems risky to people. But as the service grows, more and more trust will come. So a dev would sign up on my site and request an escrow. I would give them an address to deposit funds into. In the bottom corner of the box would be a message saying, "Check Address for Escrow". A user would then be able to copy the address and paste it into a search box on my site to verify we own that wallet. Once a transaction goes through, the customer would press a button accepting the fact that they received whatever they purchased. Once they confirm, I send the coins to the dev. If they do not press the button after a day or two, a notification is sent to the user forcing the user to press I did get the item, or they didn't. If the user says they never received the Item, the developers get a claim of non-payment and I get a transaction ID that user sends to me. A time stamped database will show the transaction ID and the time the item was purchased. The API will include data store inside of itself. This data storage engine is immutable, meaning that a developer cannot change its calls and how they work. An MD5 hash would then be generated from the storage engine API to verify integrity. That hash is then sent to my escrow service to check the integrity. If it succeeds the check, then a function is called on the device to undo the payment and remove the artifact left by the storage engine. If it fails the check, and the developer gets hit with a mark and funds are returned to the user. On Android, the SafetyNet API will be used to check for rooted devices. If a device is rooted, then the user is warned that all purchases cannot be verified and that the dev is not responsible for any non-delivered purchases. Please reply with any concerns or way to check things more effectively.
  11. Finally, an Alpha release has been published to GitHub. Setup to use this may be a bit technical, but very low maintenance is required. Of course, I would love some feed back on how to make this better, it is in alpha after all. Link here: https://github.com/Roxas240/CryptoInApp/releases/tag/v0.0.1 How to run: =========== 1.) Edit both the run.bat (Windows) or run.sh (Linux) and the node_config.prop where ever you see text between < > 2.) Edit the setup.php file with the configuration that works with your Http and SQL server. Once you are done, move the setup.php and index.php to your web document root (htdocs for apache2). 3.) Open up setup.php in your web browser and fill in all the info that shows up. On the last step, it will tell you all the info you need to create an app with the CryptoPayAPI and what info to update index.php with. 4.) After filling out all the info in index.php, get to work! There is a sample application included in this library's source under the example package. Modify that source to your own or start from scratch. Either way, enjoy. PS.) It is possible to link CryptoPayAPI with any application that supports POST requests. Hint: look at the source of the Client Side API, located in the client package.
  12. Progress Update: 08-18-2017 Thanks to @Carsen, @buzzkillb and @KawaiiCrypto, I have been able to test transactions being performed and received for purchases. As it stands, the code can look for payments that are listed with a note as a sort of key, enabling verified but not tracked transfers. The GitHub repo posted in the second reply has gotten a new commit. Next step tomorrow is to make a demo app and add the PHP script filter between the wallet and the application. The API is making progress guys! I'm excited for what is gonna come!
  13. If you want any help with your project, I'd be happy to help! soon I'll have my own online wallet for DNR.
  14. It would be extremely useful if you were to implement an RPC call to allow the sending of coins from a specific address, rather from the wallet deciding where from.
  15. Have you ever played Sonic CD for the Sega CD? its that one.
×
×
  • Create New...