Package: raritygems
raritygemsProvably Rare Gem RaritygemsAPI, currently focused on mining.Run on Google Colab# 1. Install packages# !pip install --force-reinstall jsonschema==3.2.0!python--version
!python-mpip--version
!pipinstallweb3==5.23.0
!pipinstallraritygems==0.5.0# 2. Download "raritygems_salt_finder" and give permission to execute!wget--no-check-certificate'https://docs.google.com/uc?export=download&id=10K-ZTxj14_BrY_ZxupvOkGXYl2Eo9mEq'-Oraritygems_salt_finder
!chmod755raritygems_salt_finder# 3. Run with Pythonfromraritygemsimportraritygemsdavid=raritygems.Miner(user_address="0xxxxx",gem_kind=0,# 0 = Turquoise, 1 = Pearl, ...salt_finder_path="/content/raritygems_salt_finder",private_key="",# if "" is provided then it will only find a salt then exitline_token="",# if "" is provided then it will not notify you via LINE)david.mine()noteIf you got "jsonschema" error then click "Runtime > Restart and run all"."raritygems_salt_finder" is built by golang code that can be found herehttps://github.com/jojoee/raritygems/blob/master/main.goYou can check more about gem kindhereHow it works?It basically finds a "salt" and sign a transaction for you. The program will do the followingGet the information that needed for mining:user_nonceandgem_difficultyUseraritygems_salt_finderto find a saltSign a transaction to claim a gemGo back to step 1.raritygems_salt_finderAt first, I start with Python and try to optimize it but I realize Go is must faster.
So, I write this "raritygems_salt_finder" part with Go language instead, and this is command I used to built it.# to build "raritygems_salt_finder"
go build -o raritygems_salt_finder main.go
go build -o raritygems_salt_finder-0.5.0 main.go

# to build "raritygems_salt_finder" for Google Colab
GOOS=linux GOARCH=amd64 go build -o raritygems_salt_finder_linux main.go
GOOS=linux GOARCH=amd64 go build -o raritygems_salt_finder_linux-0.5.0 main.goFeaturemining: auto updategem_difficultylint: setup linting: flask8ci-cd: pypi: publish to pypici-cd: CI & CD with GitHub Actionsci-cd: integrate semantic releasetest: writing automated testperf: performance evaluationinfo: display your current balanceinfo: display your gemsinfo: estimate how many times you can mine (before your have no gas left)gas: optimize gas priceparallel: make it support parallel / multi-threadinggpu: create GPU support versionnoti: refactor notification messagenoti: add more channels e.g. Facebook Messenger, emailweb3: auto claim gemsnetwork: support Ethereum chainnetwork: support Fantom networkinfo: bot nicknamesalt_finder: auto load by default when it is not providedProject setup & CMDTODOconda create --name raritygems python=3.7.11
conda activate raritygems
pip uninstall raritygems -y && pip install .
go run main.go \
    -user-nonce=1234 \
    -user-address=0x28bc92e7b7e77d348fd262fb8e29da129308fbd3 \
    -chain-id=250 \
    -gem-difficulty=535996 \
    -gem-address=0x342EbF0A5ceC4404CcFF73a40f9c30288Fc72611 \
    -gem-entropy=0x000080440000047163a56455ac4bc6b1f1b88efadf17db76e5c52c0ca594fd9b \
    -gem-kind=0 \
    -salt=41543544848 \
    -n=800000 \
    -debug=trueOther projectsProvably-Rare-Gem-MinerramenGemMiner-Gogo-gem-minerRefProvably Rare Gem Raritygems