[Manual] A Step-by-Step Guide to Acquiring Grams on the TON Blockchain

Introduction

In the evolving landscape of cryptocurrency, Grams on the TON Blockchain represent an exciting opportunity. This guide aims to provide a clear and concise method for anyone looking to obtain Grams quickly and efficiently through the process of mining.


1. Starting with Proof-of-Work Giver Smart Contracts

To begin mining Grams, you first need to select a “proof-of-work giver” smart contract. These contracts are categorized based on the amount of Grams they deliver - ranging from extra small givers delivering 100 Grams to large givers offering up to 100000 Grams. Here’s a list of smart contracts available:

Extra Small Givers (100 Grams):

  • EQCfwe95AJDfKuAoP1fBtu-un1yE7Mov-9BXaFM3lrJZwqg_
  • EQBoATvbIa9vA7y8EUQE4tlsrrt0EhSUK4mndp49V0z7Me3M
  • EQAV3tsPXau3VJanBw4KCFaMk3l_n3sX8NHZNgICFrR-9EGE
  • EQAR9DvLZMHo9FAVMHI1vHvL7Fi7jWgjKtUARZ2S_nopQRYz
  • EQC10L__G2SeEeM2Lw9osGyYxhoIPqJwE-8Pe7728JcmnJzW
  • EQDZJFkh12kw-zLGqKSGVDf1V2PRzedGZDFDcFml5_0QerST
  • EQCiLN0gEiZqthGy-dKl4pi4kqWJWjRzR3Jv4jmPOtQHveDN
  • EQDB8Mo9EviBkg_BxfNv6C2LO_foJRXcgEF41pmQvMvnB9Jn
  • EQAidDzp6v4oe-vKFWvsV8MQzY-4VaeUFnGM3ImrKIJUIid9
  • EQAFaPmLLhXveHcw3AYIGDlHbGAbfQWlH45WGf4K4D6DNZxY

Small Givers (1000 Grams):

  • EQDSGvoktoIRTL6fBEK_ysS8YvLoq3cqW2TxB_xHviL33ex2
  • EQCvMmHhSYStEtUAEDrpV39T2GWl-0K-iqCxSSZ7I96L4yow
  • EQBvumwjKe7xlrjc22p2eLGT4UkdRnrmqmcEYT94J6ZCINmt
  • EQDEume45yzDIdSy_Cdz7KIKZk0HyCFIr0yKdbtMyPfFUkbl
  • EQAO7jXcX-fJJZl-kphbpdhbIDUqcAiYcAr9RvVlFl38Uatt
  • EQAvheS_G-U57CE55UlwF-3M-cc4cljbLireYCmAMe_RHWGF
  • EQCba5q9VoYGgiGykVazOUZ49UK-1RljUeZgU6E-bW0bqF2Z
  • EQCzT8Pk1Z_aMpNukdV-Mqwc6LNaCNDt-HD6PiaSuEeCD0hV
  • EQDglg3hI89dySlr-FR_d1GQCMirkLZH6TPF-NeojP-DbSgY
  • EQDIDs45shbXRwhnXoFZg303PkG2CihbVvQXw1k0_yVIqxcA

Medium Givers (10000 Grams):

  • EQD7VspHSNS4VSpN7QQicNgSYoJ68CmdC6oL5ZEKHSXe26Sa
  • EQC5uEgW0MkTbCRBZB72maxCZT3m14OK2FcSLVr2H_7MTTSF
  • EQC2nD9nQNRhcfWhdBzRK-wdlTO4hGxnPFzdSxKN777tab2_
  • EQAqd4vV0O5oGfA7bl6fVORD_Y4PTNZG82AC2BObBux51g2w
  • EQDcOxqaWgEhN_j6Tc4iIQNCj2dBf9AFm0S9QyouwifYo9KD
  • EQAjYs4-QKve9gtwC_HrKNR0Eaqhze4sKUmRhRYeensX8iu3
  • EQBGhm8bNil8tw4Z2Ekk4sKD-vV-LCz7BW_qIYCEjZpiMF6Q
  • EQCtrloCD9BHbVT7q8aXkh-JtL_ZDvtJ5Y-eF2ahg1Ru1EUl
  • EQCWMIUBrpwl7OeyEQsOF9-ZMKCQ7fh3_UOvM2N5y77u8uPc
  • EQD_71XLqY8nVSf4i5pqGsCjz6EUo2kQEEQq0LUAgg6AHolO

Large Givers (100000 Grams):

  • EQDUIeTNcRUqsz4bugyWl4q4vg16PN2EwiyyAIEbf7_WJZZH
  • EQC4qKAIM0Od4RFG-4MAY0dJ3j4Wrcs0jc1XeWKJURYB9KSz
  • EQC0Ssi1gl0IQKEGsCp91NeiTThdMqCzYvlX9sVLEU97rWqL
  • EQDO2_2zkIJPqBKeE_P1VvDYOJi1vGPgiKo0Aa6Z-bY7BeuG
  • EQADEy4zcVl-ADNMISdYSs5cVjJcHmwC9_phXXjqNKgME7j6
  • EQDWELx3CYohD9sIjhyEIhP915kL_3XthqruCbmcB0YTWDqQ
  • EQDdoh2hzGFHdQtiXJNPNrwA8yIGd4-sFxyuEr3z6JL5BIFi
  • EQALXKp6G-IjWTPEqFKILkqcql-43DcoPzJ21Z02abpBPaQK
  • EQBAHXFxs1ohHY2bzW9A-V0NDznkFlROkNF_oyppxlLfsyEJ
  • EQCUwgBew9u4NwwuFsfPsXX9a69K55uFcieaHtc-c37OYDJO

Choose one of these smart contracts randomly for the mining process.


2. The “Mining” Process

Mining Grams involves creating an internal message containing the “proof of work.” Follow these steps to mine effectively:

  • Compiling the Mining Utility: This utility is part of the TON sources available on the GitHub repository. It’s located in ./crypto/pow-miner relative to the build directory and can be compiled with make pow-miner.

  • Obtaining ‘Seed’ and ‘Complexity’ Parameters: Before running the pow-miner, you need to know the ‘seed’ and ‘complexity’ parameters of your chosen smart contract. Use the LiteClient console to run a method like runmethod [Chosen Giver Smart Contract Address] get_pow_params to obtain these values.

  • Running the Miner: With the ‘seed’ and ‘complexity’ obtained, run the pow-miner utility with the syntax:

    $ crypto/pow-miner -vv -w<num-threads> -t<timeout-in-sec> <your-wallet-address> <seed> <complexity> <iterations> <pow-giver-address> <boc-filename>
    

    Replace placeholders with appropriate values. For example:

    $ crypto/pow-miner -vv -w7 -t100 [Your Wallet Address] [Seed] [Complexity] 100000000000 [Giver Smart Contract Address] mined.boc
    
  • Handling Success or Failure: If successful, the miner will save the proof of work in the file mined.boc. In case of failure, update the ‘seed’ and ‘complexity’ parameters and try again.

  • Sending the Proof of Work: Use any TON software to send an internal message containing the proof of work from mined.boc. If successful, your wallet’s jetton balance will increase, reflecting the acquisition of Grams.


Conclusion

Congratulations! By following these steps, you are now a proud owner of GRAM jettons. Whether for trading, investment, or other purposes, these jettons open up new possibilities within the TON Blockchain ecosystem. Happy mining!

2 Likes

GRAM Mining: A Nod to TONCOIN’s Initial Approach


Hey everyone,

I’m excited to share some insights into GRAM’s mining process, which intriguingly mirrors the initial mining methods used by TONCOIN. It’s not just a replication; it feels more like a respectful homage to the pioneering techniques of TONCOIN.

1. Proof-of-Work Giver Smart Contracts:

GRAM follows the proof-of-work protocol, utilizing various “giver” smart contracts. These contracts are categorized based on the amount of GRAMs they can dispense, ranging from extra small givers (delivering around 100 GRAMs) to large givers (capable of delivering up to 100,000 GRAMs). It’s fascinating to see the same smart contract addresses being used as in the initial TONCOIN setup. This alignment shows a clear lineage and respect for the original system.

2. The Mining Process:

Mining GRAMs involves creating an internal message containing proof of work, similar to TONCOIN’s approach. You need to run a specific mining utility, which is part of the TON sources available on GitHub. Before you start mining, it’s crucial to get the “seed” and “complexity” parameters of the chosen giver smart contract. This process is done through the LiteClient console, a method that feels quite familiar to those who have experience with TONCOIN.

Once you have these parameters, you can run the mining utility. If successful, the miner will save the required proof of work into a file. In case of failure, it’s just a matter of updating the parameters and trying again - persistence is key!

3. The Result:

Successful mining is rewarded with an increase in your GRAM jetton balance. This result can be exhilarating, especially after the anticipation and effort involved in the mining process.

A Personal Reflection:

To me, this method of mining GRAMs is more than just a technical process. It’s a tribute to the pioneering spirit of TONCOIN. Using the same mining algorithm and similar methods speaks volumes about the respect and acknowledgment of what TONCOIN has achieved.

This shared approach in mining also adds an interesting layer to the crypto community’s narrative. It’s like watching history being honored and preserved in real-time, and I’m here for it!

For more detailed information and to get started, check out TON Blockchain’s GitHub Repository.

Looking forward to hearing your thoughts and experiences with GRAM mining. Has anyone else noticed this connection to TONCOIN? Let’s discuss!

1 Like

Hi doge, thank you for the very comprehensive guide! I’m very new to programming and mining!

I have followed your other guide

[GPU] Harnessing JettonGramGpuMiner: Your Guide to Mining GRAM Tokens - General / Mining - TON Research

and downloaded the github project and run the start_tonhub.bat but seems like its always failing so i found this guide and try to follow along is this guide a total different thing? if not where can i find the files you mention

 * **Compiling the Mining Utility:** This utility is part of the TON sources available on the GitHub repository. It’s located in `./crypto/pow-miner` relative to the build directory and can be compiled with `make pow-miner`.
> * **Obtaining ‘Seed’ and ‘Complexity’ Parameters:** Before running the `pow-miner`, you need to know the ‘seed’ and ‘complexity’ parameters of your chosen smart contract. Use the LiteClient console to run a method like `runmethod [Chosen Giver Smart Contract Address] get_pow_params` to obtain these values.

was not able to find this file. thank you in advance

1 Like