Research
Recent Trends in Malicious Packages Targeting Discord
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
tronweb
Advanced tools
Readme
TronWeb aims to deliver a unified, seamless development experience influenced by Ethereum's Web3 implementation. We have taken the core ideas and expanded upon it to unlock the functionality of TRON's unique feature set along with offering new tools for integrating DApps in the browser, Node.js and IoT devices.
Project scope
Any new TRON feature will be incorporated into TronWeb. Changes to the API to improve quality-of-life are in-scope for the project. We will not necessarilly maintain feature parity with Web3.js going forward as this is a separate project, not a synchronized fork.
You can access either version specifically from the dist folder.
TronWeb is also compatible with frontend frameworks such as:
You can also ship TronWeb in a Chrome extension.
npm install tronweb
or
yarn add tronweb
Then easiest way to use TronWeb in a browser is to install it as above and copy the dist file to your working folder. For example:
cp node_modules/tronweb/dist/TronWeb.js ./js/tronweb.js
so that you can call it in your HTML page as
<script src="./js/tronweb.js"><script>
This project is also published on NPM and you can access CDN mirrors of this release (please use sub-resource integrity for any <script>
includes).
Shasta is the official Tron testnet. To use it use the following endpoint:
https://api.shasta.trongrid.io
Get some Shasta TRX at https://www.trongrid.io/shasta and play with it. Anything you do should be explorable on https://shasta.tronscan.org
You can set up your own private network, running Tron Quickstart. To do it you must install Docker and, when ready, run a command like
docker run -it --rm \
-p 9090:9090 \
-e "defaultBalance=100000" \
-e "showQueryString=true" \
-e "showBody=true" \
-e "formatJson=true" \
--name tron \
trontools/quickstart
More details about Tron Quickstart on GitHub
First off, in your javascript file, define TronWeb:
const TronWeb = require('tronweb')
When you instantiate TronWeb you can define
you can also set a
which works as a jolly. If you do so, though, the more precise specification has priority. Supposing you are using a server which provides everything, like TronGrid, you can instantiate TronWeb as:
const tronWeb = new TronWeb({
fullHost: 'https://api.trongrid.io',
headers: { "TRON-PRO-API-KEY": 'your api key' },
privateKey: 'your private key'
})
For retro-compatibility, though, you can continue to use the old approach, where any parameter is passed separately:
const tronWeb = new TronWeb(fullNode, solidityNode, eventServer, privateKey)
tronWeb.setHeader({ "TRON-PRO-API-KEY": 'your api key' });
If you are, for example, using a server as full and solidity node, and another server for the events, you can set it as:
const tronWeb = new TronWeb({
fullHost: 'https://api.trongrid.io',
eventServer: 'https://api.someotherevent.io',
privateKey: 'your private key'
}
)
If you are using different servers for anything, you can do
const tronWeb = new TronWeb({
fullNode: 'https://some-node.tld',
solidityNode: 'https://some-other-node.tld',
eventServer: 'https://some-event-server.tld',
privateKey: 'your private key'
}
)
The better way to understand how to work with TronWeb is go to the demo directory in this repository.
If you'd like to connect with tronlink app and chrome extention and develop a dapp on tron, you could run the demo in path demo/tron-dapp-react-demo.
If you'd like to develop only with tronweb dependency, you could run the demo in path demo/tronweb-demo.
In order to contribute you can
npm i
npm run build
npm test:node
Contact the team at https://cn.developers.tron.network/docs/online-technical-support
5.3.2
trx.getBandwidthPrices
and trx.getEnergyPrices
.trx.ecRecover
.5.3.1
getBlockRange()
error for range of 1 (#398).estimateenergy
in TransactionBuilder#deployConstantContract()
API.5.3.0
elliptic
with ethereum-cryptography/secp256k1
createToken
, updateToken
and applyForSR
transactionBuilder.cancelUnfreezeBalanceV2
transactionBuilder.delegateResource
transactionBuilder.deployConstantContract
5.2.0
setAccountId
, updateBrokerage
, clearABI
, updateAccountPermissions
function in transactionBuilder
lib5.1.0
freezeBalanceV2
, unfreezeBalanceV2
, delegateResource
, undelegateResource
and withdrawExpireUnfreeze
function in transactiobBuiler lib to support stakeV2tronWeb.transactionBuilder.estimateEnergy
to estimate energy for triggersmartcontract transactiongetDelegatedResourceV2
, getDelegatedResourceAccountIndexV2
, getCanDelegatedMaxSize
, getAvailableUnfreezeCount
and getCanWithdrawUnfreezeAmount
function to query account resource info5.0.0
tronWeb.utils.transaction
lib to serialize and deserialize transactiontronWeb.utils.transaction.txJsonToPb
function to convert transaction json to protobuftronWeb.utils.transaction.txPbToTxID
function to get txID from transaction protobufcreateAccount
4.4.0
createRandom
and fromMnemonic
functiontronWeb.utils.message
lib, which includes hashMessage
, signMessage
and verifyMessage
signMessageV2
and verifyMessageV2
in tronWeb.trx
lib which can support plain text signature and verificationsize
filter for event watch4.3.0
_signTypedData
4.2.0
call()
and send()
methods has only one return valueTriggerConstantContract()
methodaxios
to version 0.26.1karma
to version 6.3.17puppeteer
to version 13.5.14.1.0
encodeParamsV2ByABI
and decodeParamsV2ByABI
functions in tronWeb.utils.abi
libtriggerSmartContract
, createSmartContract
, call
and send
methodsvalidator
to version 13.7.0axios
to version 0.24.04.0.1
4.0.0
broadcastHex
methodcreateToken
methodpkToAddress
method3.2.7
rawParameter
that format of the parameters method and args when creating or triggering a contractelliptic
to the latest version 6.5.4validator
to the latest version 13.6.03.2.6
3.2.5
3.2.4
3.2.3
3.2.2
createToken
method supports 0 in its precision3.1.0
elliptic
to the latest version 6.5.3ethers
to the latest version 5.0.8loadAbi()
3.0.0
2.10.2
2.10.1
trx.listExchangesPaginated
2.10.0
trx.getTokenListByName
2.9.0
2.8.1
keepTxID
to show also the txID when triggering a contract with shouldPollResponse
2.8.0
2.7.4
2.7.3
2.6.8
2.6.3
2.6.0
2.5.6
2.5.5
receiverAddress
during freezeBalance
and unfreezeBalance
if it is equal to the owner address2.5.4
2.5.2
Trx.signString
and Trx.verifySignature
2.5.0
2.3.7
2.3.6
/wallet/getapprovedlist
and /wallet/getsignweight
JavaTron API.2.3.5
#event.getEventsByContractAddress
naming.2.3.4
#plugin.register
to pass parameters to pluginInterface
.2.3.3
2.3.2
2.3.1
2.3.0
fullNode
, solidityNode
and eventServer
as separate params_watch
which causes a continuous update of the since
parameterTronWeb is distributed under a MIT licence.
FAQs
JavaScript SDK that encapsulates the TRON HTTP API
We found that tronweb demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
Security News
Socket CEO Feross Aboukhadijeh joins a16z partners to discuss how modern, sophisticated supply chain attacks require AI-driven defenses and explore the challenges and solutions in leveraging AI for threat detection early in the development life cycle.
Security News
NIST's new AI Risk Management Framework aims to enhance the security and reliability of generative AI systems and address the unique challenges of malicious AI exploits.