binance / binance-connector-php Goto Github PK
View Code? Open in Web Editor NEWThis is a thin library that working as a connector to the Binance public API.
This is a thin library that working as a connector to the Binance public API.
Is there any contribution guides? I want to implement connector for USDM-Futures, has some one already start working on that?
i get below error
Fatal error: Uncaught Error: Class "Binance\Spot" not found in C:\xampp\htdocs\binance\test.php:4 Stack trace: #0 {main} thrown in C:\xampp\htdocs\binance\test.php on line 4
Fatal error: Uncaught Error: Class "Psr\Log\NullLogger" not found in XXX/vendor/binance/binance-connector-php/src/Binance/APIClient.php:73 Stack trace: #0 XXX/vendor/binance/binance-connector-php/src/Binance/Spot.php(35): Binance\APIClient->__construct() #1 MYscript: Binance\Spot->__construct() #2 {main} thrown in XXX/vendor/binance/binance-connector-php/src/Binance/APIClient.php on line 73
Any idea, what is the cause for the error? Just updated PHP 7.4 to PHP v8.1, updated and re-installed all the packages, and the previously working script still causes such an error....
I implemented this package in my Laravel project and initialized it like this
$client = new Spot([
'key' => config('binance.testnet.api_key'),
'privateKey' => config('binance.testnet.api_secret'),
'baseURL' => 'https://testnet.binance.vision'
]);
a simple $client->time()
returns the timecode. But if I want to send an order or want to get some account info, I will get this error:
openssl_sign(): Supplied key param cannot be coerced into a private key
What do I wrong?
I am constantly monitoring new sub-users on hourly base via
GET https://api.binance.com/sapi/v1/sub-account/list?page=1&limit=500&recvWindow=5000×tamp=CURRENT_TIMESTAMP&signature=VALID_SIGNATURE.
Since 2022-09-20 20:00:00 UTC it stopped working, resulting in the following output:
Fatal error: Uncaught Binance\Exception\ClientException: GuzzleHttp\Exception\ClientException: Client error: GET https://api.binance.com/sapi/v1/sub-account/list?page=1&limit=500&recvWindow=5000×tamp=CURRENT_TIMESTAMP&signature=VALID_SIGNATURE
resulted in a 400 Bad Request
response: {"code":-10038,"msg":"Broker account is not supported."} in /MYPATH/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113 Stack trace: #0 /MYPATH/vendor/guzzlehttp/guzzle/src/Middleware.php(69): GuzzleHttp\Exception\RequestException::create() #1 /MYPATH/vendor/guzzlehttp/promises/src/Promise.php(204): GuzzleHttp\Middleware::GuzzleHttp{closure}() #2 /MYPATH/vendor/guzzlehttp/promises/src/Promise.php(153): GuzzleHttp\Promise\Promise::callHandler() #3 /MYPATH/vendor/guzzlehttp/promises/src/TaskQueue.php(48): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise{closure}() #4 /MYPATH/vendor/guzzlehttp/promises/src/Promise.php(248): GuzzleHttp\Promise\TaskQueue->run() #5 /MYPATH/vendor/guzzlehttp/promises/src/Promise.php(224): GuzzleHttp\Promise\Promise->invokeWaitFn() #6 /MYPATH/vendor/guzzlehttp/promises/src/Promise.php(269): GuzzleHttp\Promise\Promise->waitIfPending() #7 /MYPATH/vendor/guzzlehttp/promises/src/Promise.php(226): GuzzleHttp\Promise\Promise->invokeWaitList() #8 /MYPATH/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending() #9 /MYPATH/vendor/guzzlehttp/guzzle/src/Client.php(187): GuzzleHttp\Promise\Promise->wait() #10 /MYPATH/vendor/binance/binance-connector-php/src/Binance/APIClient.php(104): GuzzleHttp\Client->request() #11 /MYPATH/vendor/binance/binance-connector-php/src/Binance/APIClient.php(98): Binance\APIClient->processRequest() #12 /MYPATH/vendor/binance/binance-connector-php/src/Binance/Spot/SubAccount.php(48): Binance\APIClient->signRequest() #13 /MYPATH/subuserminitor.php(28): Binance\Spot->subAccountList() #14 {main} in /MYPATH/vendor/binance/binance-connector-php/src/Binance/APIClient.php:106 Stack trace: #0 /MYPATH/vendor/binance/binance-connector-php/src/Binance/APIClient.php(98): Binance\APIClient->processRequest() #1 /MYPATH/vendor/binance/binance-connector-php/src/Binance/Spot/SubAccount.php(48): Binance\APIClient->signRequest() #2 /MYPATH/subuserminitor.php(28): Binance\Spot->subAccountList() #3 {main} thrown in /MYPATH/vendor/binance/binance-connector-php/src/Binance/APIClient.php on line 106
Please help with the issue.
I want to use the new endpoints for simpleearn enabled in the Binance API since August 26, 2023, I have already tried to update the php library on my server but it still does not appear available, do you have any plans to update the library soon term? or you can help me update my library locally with the new simpleearn endpoints. I would appreciate your help.
Please change the psr/log dependency to be able to use psr/log v3.0.0
GET https://api.binance.com/sapi/v1/sub-account/universalTransfer?page=1&recvWindow=5000×tamp=1663519465973&signature=XXX results in in a 400 Bad Request
response: {"code":100001002,"msg":"Unsupported operation"} in MYPATH/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113 Stack trace: #0 MYPATH/vendor/guzzlehttp/guzzle/src/Middleware.php(69): GuzzleHttp\Exception\RequestException::create() #1 MYPATH/vendor/guzzlehttp/promises/src/Promise.php(204): GuzzleHttp\Middleware::GuzzleHttp{closure}() #2 MYPATH/vendor/guzzlehttp/promises/src/Promise.php(153): GuzzleHttp\Promise\Promise::callHandler() #3 MYPATH/vendor/guzzlehttp/promises/src/TaskQueue.php(48): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise{closure}() #4 MYPATH/vendor/guzzlehttp/promises/src/Promise.php(248): GuzzleHttp\Promise\TaskQueue->run() #5 MYPATH/vendor/guzzlehttp/promises/src/Promise.php(224): GuzzleHttp\Promise\Promise->invokeWaitFn() #6 MYPATH/vendor/guzzlehttp/promises/src/Promise.php(269): GuzzleHttp\Promise\Promise->waitIfPending() #7 MYPATH/vendor/guzzlehttp/promises/src/Promise.php(226): GuzzleHttp\Promise\Promise->invokeWaitList() #8 MYPATH/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending() #9 MYPATH/vendor/guzzlehttp/guzzle/src/Client.php(187): GuzzleHttp\Promise\Promise->wait() #10 MYPATH/vendor/binance/binance-connector-php/src/Binance/APIClient.php(104): GuzzleHttp\Client->request() #11 MYPATH/vendor/binance/binance-connector-php/src/Binance/APIClient.php(98): Binance\APIClient->processRequest() #12 MYPATH/vendor/binance/binance-connector-php/src/Binance/Spot/SubAccount.php(553): Binance\APIClient->signRequest() #13 MYPATH/test4.php(14): Binance\Spot->subAccountUniversalTransferHistory() #14 {main} in MYPATH/vendor/binance/binance-connector-php/src/Binance/APIClient.php:106 Stack trace: #0 MYPATH/vendor/binance/binance-connector-php/src/Binance/APIClient.php(98): Binance\APIClient->processRequest() #1 MYPATH/vendor/binance/binance-connector-php/src/Binance/Spot/SubAccount.php(553): Binance\APIClient->signRequest() #2 MYPATH/test4.php(14): Binance\Spot->subAccountUniversalTransferHistory() #3 {main} thrown in MYPATH/vendor/binance/binance-connector-php/src/Binance/APIClient.php on line 106
XXX - the real signature is substituted, as well as MYPATH - is for the original URL/URI/path masquerading.
I detect bug with enabled both showHeader and weightUsage, returns only weightUsage in array without header.
I fixed this in method processRequest in file /src/Binance/APIClient.php
Fixed code:
private function processRequest($method, $path, $params = array())
{
try {
$response = $this->httpRequest->request($method, $this->buildQuery($path, $params));
} catch (\GuzzleHttp\Exception\ClientException $e) {
throw new ClientException($e);
} catch (\GuzzleHttp\Exception\ServerException $e) {
throw new ServerException($e);
}
$body = json_decode($response->getBody(), true);
// fixed show header bug with weight usage
$returnData = null;
if ($this->showWeightUsage || $this->showHeader) {
$returnData['data'] = $body;
}
if ($this->showWeightUsage) {
$weights = [];
foreach ($response->getHeaders() as $name => $value) {
$name = strtolower($name);
if (strpos($name, 'x-mbx-used-weight') === 0 ||
strpos($name, 'x-mbx-order-count') === 0 ||
strpos($name, 'x-sapi-used') === 0) {
$weights[$name] = $value;
}
}
$returnData['weight_usage'] = $weights;
}
if ($this->showHeader) {
$returnData['header'] = $response->getHeaders();
}
return is_null($returnData) ? $body : $returnData;
}
Can the error output of API response 400 be ignored?
This affects other CODE operations
composer require binance/binance-connector-php
Could not find a version of package binance/binance-connector-php matching
your minimum-stability (stable). Require it with an explicit version constr
aint allowing its desired stability.
can you tell me the dependence i should install. (php 7.4.30 installed)
Where must I writ command "composer require binance/binance-connector-php" ? , in terminal in download catalog ?
Error in terminal is : "[email protected]:~/domains/xx.del/public_html/composer$ composer require binance/binance-connector-php
-bash: composer: command not found.
Please help
请求其他接口都没有问题 只有提币会返回400 按照官方例子提币 目前是有什么问题吗?
Good afternoon. I program in php. I would like to access the exchange through your api. Before that, I traded on another exchange in the same way, the api was simple and clear there, but it's hard to figure it out, you need help. I understand that some kind of file is needed, it connects everywhere - vendor/autoload.php . What is it and how to download it? I don't understand. Help please.
API content for Simple Earn Endpoints is missing
Any ETA when the "Spot WebSocket API" will be implemented in binance-connector-php
like in binance-connector-java and binance-connector-python
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.